- Выполняется каждый час ищет OU office и просматривает поле mail, если пустое то почта заводится в базу SK05/06 в зависимости какая свободна.
- Политика хранения ставится Move to archive after 6 month.
- Проставляется архив в зависимости от номера базы.
<# .SYNOPSIS Заведение почты adminbd .DESCRIPTION Скрипт ищет пользователей с пустым полем mail и заводит почту в adminbd.ru. Исключение $OfficeOU = "*Office*". #> #╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗# $Host.UI.RawUI.WindowTitle = "Заведение почты adminbd" #╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝# [system.gc]::Collect() #------ Variables ------# $BaseOU = "OU=Locations,DC=adminbd,DC=ru" $OfficeOU = "*Office*" <#$MailCorp = Get-ADUser -SearchBase $BaseOU -filter {Enabled -eq "True"} -properties 'mail','UserPrincipalName','SamAccountName','CanonicalName'| Where-Object {$_.mail -Match ".*@corp.adminbd.ru"} | Where-Object { !($(foreach ($u in $ExceptinOU) {$_.CanonicalName -like $u}) -contains ($True)) } #> $MailCorp = Get-ADUser -SearchBase $BaseOU -filter {Enabled -eq "True"} -properties 'mail','UserPrincipalName','SamAccountName','CanonicalName' | Where-Object { ($_.CanonicalName -like $OfficeOU) -and ($_.mail -like $NULL) } #$MailCorp = Get-ADUser -Identity Anastasiya.Bodrukh -properties 'mail','CanonicalName' #------ Execution ------# #$UserCredential = Get-Credential $UserCredential = Import-CliXML -Path 'D:\Programs\Scripts\adminbd_office\mycredentials_adminbd.xml' $Sessionadminbd = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://MXS01.adminbd.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential Import-PSSession $Sessionadminbd -DisableNameChecking -AllowClobber foreach ($User in $MailCorp) { $base = get-mailboxdatabase -Identity "SK*" -Status | Where-Object {($_.Name -like 'SK05') -or ($_.Name -like 'MSK06')} | Sort-Object DatabaseSize | Select-Object -First 1 Enable-Mailbox -Identity $User.UserPrincipalName -Database $base.name -RetentionPolicy 'Move to archive after 6 month' if ($base.name -eq 'MSK05') { Enable-Mailbox -Identity $User.UserPrincipalName -Archive -ArchiveDatabase RC03 } else { Enable-Mailbox -Identity $User.UserPrincipalName -Archive -ArchiveDatabase RC04 } #Add-ADGroupMember -Identity 'G-Deny to send outside-11647250310' -Members $User.SamAccountName #Set-CASMailbox -Identity $User.UserPrincipalName -ActiveSyncEnabled $false -MAPIEnabled $false #Write-host $User.SamAccountName } Remove-PSSession $Sessionadminbd
Similar Posts:
- Как завести пользователь в exchange через powershell.
- Как сделать автоматическое создание почтовых ящиков с отключёнными ActiveSync и MAPI и добавить в группу G-Deny to send
- Как создать переадресацию с одного ящика на другой в exchange. Переезд в другой домен.
- Как создать контакты в exchange из другого домена.
- Как сделать скрипт для архивировании почты exchange перед удаление учетной записи.