Работа с пользователями в PowerShell Windows
Common
Вывод всех аттрибутов пользователей
Get-Help Set-ADUser -Parameter *|ft
Получить имя и должность по логину:
Get-ADUser -Identity sani -Properties title|select-object name,title
Изменить должность по логину:
Set-ADuser sani –title “Middle DevOps Engineer”
Изменить сразу два поля - email и список разрешенных рабочих станций
Set-ADUser sani –EmailAddress aizaro@mail.ru –LogonWorkstations 'spb-ws-64,spb-nb-117'
Запреить пользователя в домене:
Set-ADUser bad_user -Enabled $False
Заменить фото:
Set-ADUser sani -Replace @{thumbnailPhoto=([byte[]](Get-Content "D:\data\photos\sani_photo.jpg" -Encoding byte))}
Поменять номер телефона:
Set-ADUser sani -MobilePhone $NewNumber
Или вот так:
Set-ADUser sani -replace @{'MobilePhone' = $($Number) }
Добавить новый расширенный аттрибут:
Set-ADUser sani -Add @{extensionAttribute5 = "Test1"}
Заменить одним запросом ряд аттрибутов:
Set-ADUser sani -Replace @{title="Senior DevOps";company="XYZ"}
Добавить несколько значений для одного аттрибута:
Set-ADUser sani -add @{ProxyAddresses="smtp:4501710@gmail.com, ,SMTP:aizaro@mail.ru " -split ","}
CSV
Выгрузить пользователей и email-адреса в csv-файл
Get-ADUser -Filter * -SearchBase "OU=ГК ОМЕГА,DC=omega,DC=local" -Properties * | Select-Object login,emailaddress | export-csv -encoding utf8 -path c:\users\sani\documents\users_omega.csv
Обновить данные из CSV-файла
Import-Csv c:\users\sani\documents\users_omega1.csv | foreach {Set-ADUser -Identity $_.SamAccountName -EmailAddress $_.EmailAddress}
Extra
(memberOf=CN=Пользователи портала Bitrix,OU=Groups Sec.,OU=_Service accounts,OU=ГК ОМЕГА,DC=omega,DC=local)
foreach {Set-ADUser -Identity $_.SamAccountName –Title $_.Title -MobilePhone $_.MobilePhone}
Sources
- Set-ADUser: How to Change User Properties in Active Directory with PowerShell http://woshub.com/set-aduser-change-user-properties-active-directory-powershell/
- Документация PowerShell https://docs.microsoft.com/en-us/powershell