Импорт пользователей в active directory из CSV. Создание ящика в Exchange

Задача - сделать в Active Directory импорт пользователей из csv-файла и создать им ящики в Exchange.
Работоспособно для Windows Server 2008 R2, PowerShell 5, Exchange 2010 SP3

Содержимое CSV-файла:
import-csv

# Подключение в Exchange (если надо)
add-pssnapin microsoft.exchange.management.powershell.e2010 
# Импорт модуля (если надо)
import-module activedirectory 

$Users = Import-CSV -Path "C:\scripts\import\users.csv" -delimiter ";" -Encoding Default

foreach ($User in $Users)  
{  
 $Name = $User.Name
 $GivenName = $User.GivenName
 $Surname = $User.Surname
 $Department = $User.Department
 $Title = $User.Title
 $Description = $User.Description
 $Password = $User.Password
 $DisplayName = $User.DisplayName
 $Path = $User.Path
 $Company = $User.Company
 $sAMAccountName = $User.sAMAccountName
 $userprincipalname = $User.userprincipalname
 $Identity = $User.Identity
 $Database = $User.Database
 $Alias = $User.Alias
 
# Добавляем пользователей
 New-ADuser -Name $Name -Surname $Surname -Department $Department -GivenName $GivenName -Title $Title -Description $Description -Company $Company -DisplayName $DisplayName -Userprincipalname $Userprincipalname -Path $Path -CannotChangePassword $false -PasswordNeverExpires $false -ChangePasswordAtLogon $false -PasswordNotRequired $true -Enabled $true -sAMAccountName $sAMAccountName -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force)
# Создаём ящик в Exchange
 Enable-Mailbox -identity $Identity -Alias $Alias –Database $Database
# Отключаем OWA и ActiveSync
 Set-CASMailbox -Identity $Identity -OwaEnabled $false -ActiveSyncEnabled $false 
} 

Поиск по операционным системам в Active Directory с помощью Powershell

Найти все компьютеры, на которых стоит серверная операционная система:

Get-ADComputer -Filter "OperatingSystem -like '*Server*'" -properties OperatingSystem,OperatingSystemServicePack | Select Name,Op* | format-list

Поиск в конкретной OU:

Get-ADComputer -Filter * -SearchBase "OU=Domain Controllers,dc=test,dc=ru" -properties OperatingSystem,OperatingSystemServicePack | Select Name,Op* | format-list


Список операционных систем в домене:

Get-ADComputer -Filter * -Properties OperatingSystem | Select OperatingSystem -unique | Sort OperatingSystem

Найти компьютеры с Windows XP в домене:

Get-ADComputer -Filter "OperatingSystem -like '*Server*'" -properties OperatingSystem,OperatingSystemServicePack | Select Name,Op* | format-list

Найти компьютеры с Windows XP, которые меняли пароль после 01.06.2016:

Get-ADComputer -Filter {(OperatingSystem -like '*XP*') -and (Passwordlastset -gt '1/6/2016')} | Select Name | format-list

Как изменить автоотключение мониторов в режиме блокировки

Ситуация - имеем Windows 10 - нажал Win+L - заблокировал экран. Через 60 сек монитор погас.
Задача - изменить значение 60 сек.
Решение:
В командной строке от имени администратора вбиваем следующие команды:

powercfg.exe /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE

Ещё задача - заменить экран блокировки на скринсейвер. Решение - скачать программку - https://github.com/ukanth/monitores

Полезные PowerShell команды для работы с Windows Server 2012 R2

Список всех пользователей с сортировкой по дате входа, включая столбцы "Name,SamAccountName,Enabled,lastlogondate":

Get-ADUser -Filter * -pr lastlogondate | sort lastlogondate | FT lastlogondate,SamAccountName,Enabled,Name -auto


Список всех пользователей, экспорт в csv файл с разделителем:

Get-ADUser -Filter * | sort Name | select Name,SamAccountName,Enabled | export-csv c:\temp\1.csv -NoType -UseCulture -Encoding Unicode

Список участников группы Active Directory:

Get-ADGroupMember "Name Group" | ft Name

Поиск пользователя по маске имени:

Get-Aduser -filter {samaccountname -like "*brina*"}

Читать далее