Я пытаюсь запустить приведенный ниже код для поиска неактивных учетных записей пользователей в подразделении. Похоже, тип переменной, которую я использую, может не использоваться с параметрами. Кажется ли это правильным, и если да, то какой тип переменной я должен использовать?
$scope = "-UsersOnly"
$accounts = Search-ADAccount -SearchBase "OU=Users,OU=testLab02,DC=test,DC=local" -AccountInactive -TimeSpan ([timespan]7D) $scope
foreach($account in $accounts){
If ($noDisable -notcontains $account.Name) {
Write-Host $account
#Disable-ADAccount -Identity $account.DistinguishedName -Verbose $whatIf | Export-Csv $logFile
}
}
Я получаю следующую ошибку:
Search-ADAccount: не найден позиционный параметр, который принимает аргумент '-UsersOnly'. В C: \ Users \ Administrator \ Documents \ Disable-ADAccounts.ps1: 63 char: 21 + ... $ accounts = Search-ADAccount -SearchBase $ OU.DistinguishedName -Accou ... + ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ + CategoryInfo: InvalidArgument: (:) [Search-ADAccount], ParameterBindingException + FullyQualifiedErrorId: PositionalParameterNotFound, Microsoft.ActiveDirectory.Management.Commands.SearchADAccount
Однако, если я запускаю команду, ожидаемую без переменных, она работает, как ожидается, без переменных работает :
Search-ADAccount -SearchBase "OU=Users,OU=testLab02,DC=test,DC=local" -AccountInactive -TimeSpan ([timespan]7D) -UsersOnly