Я использую этот скрипт, который я использовал пару лет назад, чтобы зафиксировать значение office для студентов в нашем дереве AD, чтобы убедиться, что все еще правильно настроены в новом домене qa для запуска сценариев для объявления
import-module ActiveDirectory
#$Users = Get-ADUser -Filter 'UserPrincipalName -like "*"' -Properties *
$Users = Get-ADUser -Filter "Office -like 'Gary' -and (UserPrincipalName -like '*Abair.Dezaerae*' ) -and DisplayName -like'*Alumni*'" -Properties *
Write-Host $Users
foreach($User in $Users)
{
Write-Host $User.SamAccountName;
$User.SamAccountName;
[System.String]$newOffice = "Gary Alumni"
Set-ADUser -Identity $User.SamAccountName -Office $newOffice
}
Я получаю эту ошибку,
Set-ADUser : Cannot validate argument on parameter 'Identity'. The argument is null. Supply a non-null argument and try the command again.
At line:13 char:25
+ Set-ADUser -Identity <<<< $User.SamAccountName -Office $newOffice
+ CategoryInfo : InvalidData: (:) [Set-ADUser], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
Но если пользователь нулевой, он даже не попадет в строку 13, верно?
Возможно, что-то было изменено в конфигурации сервера, чтобы сломать этот скрипт?
Я запускаю его физически на контроллере домена QA, и я уверен, что в прошлый раз, когда мы делали это, мы делали это на PROD, поэтому QA, возможно, никогда не был настроен правильно.
Есть идеи, на что посмотреть IT-парням?