null

Полезные скрипты PowerShell для повседневных задач администрирования Windows

Зачастую возникает необходимость решения каких-то небольших задач по администрированию Windows, для которых удобно применить скрипты PowerShell. В данной статье будут приведены примеры таких скриптов, используемых для различных задач в рамках инфраструктуры заказчика.

Для получения списка пользователей с нужными полями, и экспорта его в csv-файл:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\mail_list.csv

где:


Surname - фамилия
GivenName - имя
mail — адрес e-mail


Помещает результат в C:\Users\%username%\AppData\Local\Temp\, можно задать другой путь.
Если необходимо настроить параметры вывода, можно исключить какие-то поля(например, вывести только mail)


Разблокировка учетной записи:

Если пользователь заблокировал свою УЗ, вводя неверный пароль, достаточно ввести следующую команду:

PS C:\> Unlock-ADAccount username

где username -имя пользователя

Удаление учетной записи:

PS C:\> Remove-ADUser username -whatif
What if: Performing operation "Remove" on Target
"CN=username,OU=employee,OU=internal,DC=name,DC=local".

Поиск пустых групп:

PS C:\> get-adgroup -filter * | where {-Not
($_ | get-adgroupmember)} | Select Name

Выведение списка пользователей конкретной группы(в данном случае — Domain Admins):

PS C:\> Get-ADGroupMember "Domain Admins"

Также по аналогии с приведенными выше примерами можно экспортировать списки пользователей в файл.

В случае, если группа содержит другие вложенные группы и нужно вывести и  их членов тоже, нужно использовать параметр -Recursive

PS C:\> Get-ADGroupMember "All Users"
-Recursive | Select DistinguishedName


Список всех активных (не заблокированных) учетных записей в AD:


Get-ADUser -Filter {Enabled -eq "True"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

 в случае, если необходимо вывести их с почтовыми адресами:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Format-Table

 

В дальнейшем будут приведены другие примеры полезных скриптов для повседневных задач.

 

Коротко о себе:

Работаю инженером в компании Tune IT.

Ничего не найдено. n is 0