我只是想知道您是否有人使用PowerShell來設置用戶P.O.通過 Set-ADUser
設置域用戶P.O. Box通過Powershell set-ADUser不起作用?
我比較兩個不同域之間的domainaccounts並讓我的腳本將差異寫回到其中一個DC。在第一次運行時,腳本檢測到DC1上存在與DC2不同的POBox,並將DC1中的一個寫回到DC2。
這與除postOfficeBox以外的所有屬性完全吻合。 如上所述,在第一次運行時,腳本檢測到更改並將更改寫回。但是,這並不適用於postOfficeBox。如果我在DC2上打開userobject,它仍然是空白的!更奇怪的是,如果我再次運行它,腳本不會檢測到POBox是空白的!我必須手動修改postOfficeBox以便腳本再次看到任何更改。 (和空白我的意思是沒有空格)
所有其他屬性工作正常。這是Win Server 2012和WPS上的一個可能的錯誤嗎?
下面的代碼:
$attributes = "c","co","company","countryCode","department","displayName","postOfficeBox","sAMAccountName"
$user1 = Try{Get-ADUser -Identity $_.SamAccountName -Properties $attributes}
catch{}
$user2 = try{Get-ADUser -Identity $_.SamAccountName -Properties $attributes -Credential $AdminCredentials -Server $dc2}
catch{}
if ($user1.SamAccountName -eq $user2.SamAccountName) {
$chk_modified = @{}
$attributes | ? { $user1.$_ -ne $user2.$_ } | % {
$chk_modified[$_] = $user2.$_
}
if ($chk_modified.Count -ge 1) {
Set-ADUser -Identity $_.SamAccountName -Replace $chk_modified
}
}
是的。這是P.O.的領域。地址選項卡下的框。它是通過postOfficeBox的地址。 – StUffz
所以在我的情況下,它會看起來像'Get-ADUser -Identity $ _。SamAccountName | Set-ADUser -Replace @ {postOfficeBox =「the new box 42」}' 除此之外,我的腳本和你的一樣。但是P.O.的領域。盒子總是空的。 (但是:它通過在空的powershell中手動編寫set-aduser來工作) – StUffz