Скрипты Powershell для работы с AD аккаунтами

Получить список группы по маске:

Import-Module ActiveDirectory
Get-ADGroup -Filter {name -like "*Workstation Admins"} | select name

Получить список членов AD группы, которые удовлетворяют критерию (содержат в своем названии search_matching_rule):

Import-Module ActiveDirectory
$oulist = Get-ADGroup "AD_Group_name" -Properties * | select -expandproperty memberof | where {$_ -match 'search_matching_rule'}
$oulist | % {
    $_ -split ',',2 | select -first 1
    }
$oulist

Получение имени менеджера сотрудника и его телефонного номера:

Import-Module ActiveDirectory
$user = Read-Host -Prompt "Enter username" -ErrorAction Stop
$managerdn = (Get-ADUser $user -Properties *).manager
$man = $managerdn -split ',',3 | select -first 2
$manfullname = $man[0].trim("CN=\")+ "," + $man[1]
$user+"'s manager is " + $manfullname
$mgrusrname = Get-ADUser -Filter {name -like $manfullname} | select -ExpandProperty samaccountname
$mgrddi = Get-ADUser $mgrusrname -Properties telephoneNumber| select -ExpandProperty telephoneNumber
$manfullname+"'s DDI number is "+$mgrddi
$mgrddi.substring(10)

Выгрузка email для списка аккаунтов:

Import-Module ActiveDirectory
$users = get-content -Path (Read-Host -Prompt "Path to TXT file with users" -ErrorAction Stop)
foreach($user in $users)
{
	Get-ADUser $user -Properties mail | select -ExpandProperty mail | Out-File D:\AD\user_list.txt -append
}

Включить аккаунты пользователей из списка:

Import-Module ActiveDirectory
$users = get-content -Path (Read-Host -Prompt "Path to TXT file with users" -ErrorAction Stop)
foreach($uname in $users)
{
    Get-ADUser -Identity $uname -Properties enabled | select samaccountname >> c:\Temp\list.txt
}

 

Популярность: 1%

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Обсуждение закрыто.