Мне дана задача, которая была бы идеальна для Powershell, и воспользовалась возможностью, чтобы изучить язык сценариев Powershell.Powershell If Statementments and Syntax
У меня есть CSV-файл с двумя colums:
Name, Active
Я хочу, чтобы захватить имя каждой записи с отключенным в колонке. С этим именем я хочу проверить AD и проверить, отключены они или нет. В конечном счете, если они не отключены, я хочу их отключить, но я не хочу, чтобы вы, ребята, портили мне всю забаву!
Вот где я нахожусь, я не знаю, возможно ли следующее, но так как сейчас есть синтаксические ошибки.
$file = 'C:\scripts\users.csv'
$test = Import-CSV $file | Where-Object {$_.Active -like "disable*"} | Select-Object Name
foreach($user in $test){
if (Get-AdUser -LDAPFilter "(samaccountname=*$user*)" | Select-Object Enabled){
Write-Host $user + "is active"
}
}
Спасибо за любую помощь.
Редактировать: Я исправил ошибку синтаксиса, и теперь скрипт будет запущен, но нет выхода. Я знаю, что есть пользователи, которые все еще активны, поэтому определенно должен быть какой-то вывод.
Или 'if ((Get-AdUser $ user) .Enabled) {...}'. –
Здравствуйте, спасибо за комментарий! Я внедрил ваше предложение и теперь получаю следующую ошибку: Get-ADUser: невозможно привязать параметр «Identity».Невозможно преобразовать значение «@ {Name = JMONFALCON}», чтобы ввести –
. Может ли попробовать что-то вроде этого? Get-ADUser -Filter {samaccountname -eq $ user} ' – Matt