#
$proxyOptions = New-PSSessionOption -ProxyAccessType NoProxyServer
Import-PSSession (New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://win13/powershell/ -Authentication Kerberos -SessionOption $proxyOptions)
Import-Module ActiveDirectory
#
$rpath = "C:\tasks\mailbox_owapolicy\report_owapolicy.html"
$rbody = "<!DOCTYPE HTML><html><head><meta charset=utf-8></head><body><table border=1><tr><th>Name</th><th>SamAccountName</th><th>status</th></tr>" | out-file $rpath -Append
#
$user = Get-ADGroupMember Exchange_OwaPolicy_DenySetPhoto
$user |%{
if(Get-CASMailbox -Identity $_.samAccountname |%{$_.OwaMailboxPolicy -notmatch "DenySetPhoto"})
{
Set-CASMailbox -Identity $_.SamAccountName -OwaMailboxPolicy "DenySetPhoto" #-WhatIf
Write-Output "<tr><td>" $_.name "</td>"|Out-File $rpath -Append
Write-Output "<td>" $_.SamAccountName "</td>"|Out-File $rpath -Append
Write-Output "<td><font color="Green">" set DenySetPhoto "</td></tr></font>"|Out-File $rpath -Append
$sendmail = $true
}
}
#
Get-CASMailbox -ResultSize Unlimited |%{
if($_.OwaMailboxPolicy -match "DenySetPhoto"){
if((Get-ADPrincipalGroupMembership $_.SamAccountName).name -contains "Exchange_OwaPolicy_DenySetPhoto" -eq $false )
{
Set-CASMailbox -Identity $_.SamAccountName -OwaMailboxPolicy $null #-WhatIf
Write-Output "<tr><td>" $_.name "</td>"|Out-File $rpath -Append
Write-Output "<td>" $_.SamAccountName "</td>"|Out-File $rpath -Append
Write-Output "<td><font color="Red">"remove DenySetPhoto "</td></tr></font>"|Out-File $rpath -Append
$sendmail = $true
}
}}
if($sendmail -eq $true)
{
$rbody = $rbody + "</table></body></html>" | out-file $rpath -Append
$bodys = Get-Content -Path $rpath | Out-String
$encoding = [System.Text.Encoding]::UTF8
Send-MailMessage -From OwaPolicy@win13.ru -To owapolicystatus@win13.ru -Subject 'UpdateUsers_OWA_Policy' -Body $bodys -BodyAsHtml -SmtpServer 'smtp.win13.ru' -Encoding $encoding
}
del $rpath