Работа с пользователями в 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

  1. Set-ADUser: How to Change User Properties in Active Directory with PowerShell http://woshub.com/set-aduser-change-user-properties-active-directory-powershell/
  2. Документация PowerShell https://docs.microsoft.com/en-us/powershell