#powershell #active-directory
#powershell #active-directory
Вопрос:
Попытка создать скрипт, который считывает список электронных писем из CSV, а затем удаляет их из группы объявлений вместе с публикацией, если пользователь был удален, не принадлежал к группе или не найден. Этот код работает, но результаты отображаются неправильно, он показывает, как будто ничего не было сделано, в то время как реальное действие уже было выполнено (проверено в AD) Может кто-нибудь проверить мой код и помочь с тем, что там не так (извините за форматирование, я новичок x_x) введите описание изображения здесь
$ADUsers = Import-Csv C:*******users.csv -Delimiter ";"
$groupname = "My Group"
$count = 0
$notmember = 0
$notfound = 0
cls
ForEach ($User in $ADUsers) {
$mail = $User.email
$search = get-ADUser -Filter "EmailAddress -eq '$($mail)'" -Properties samaccountname
if ($search) {
$action = remove-ADGroupMember -Identity $groupname -Members $search.samaccountname -Confirm:$false
if ($action) {
Write-Host "done on $($mail)"
$count }
else {
Write-Host "$($mail) is not a member."
$notmember }
}
else {
"$($mail) not found."
$notfound
}
}
Write-Host ""
Write-Host "Total input users: $($users.count)"
Write-Host "Done: $($count)"
Write-Host "not done: $($notmember)"
Write-Host "not found: $($notfound)"
Комментарии:
1. взгляните на документацию для
remove-ADGroupMember
командлета. он ничего не выводит, если вы не укажете ему это сделать.2. @Lee_Dailey спасибо за ваше руководство! есть ли у вас какие-нибудь идеи о том, как получить результат? не удалось найти важные вещи на форуме Microsoft
3. нашел это! для справки, удалить необходимо, чтобы иметь параметр -PassThru
4. это параметр, на который я намекал. рад знать, что вы нашли это и все заработало! [ усмешка ]
Ответ №1:
нашел это! для справки, удалить необходимо, чтобы иметь параметр -PassThru