Files
demo/jenkins/newmailbox.ps1
Pavel Guzaev 431b4f5cfd all demo
2024-03-09 17:36:50 +05:00

29 lines
1.4 KiB
PowerShell

$Cred = New-Object System.Management.Automation.PSCredential ('adm_exch@domain', (ConvertTo-SecureString 'superpass' -AsPlainText -Force))
$UserName=$args[0]
$Email=$args[1]
$MailPass=$args[2]
$NeedSharedMail=$args[3]
Write-Host $UserName
Write-Host $Email
Write-Host $MailPass
Write-Host $NeedSharedMail
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://win2016-dc-exch.domain/powershell/ -Authentication Basic -AllowRedirection -Credential $Cred
Import-PSSession $Session -DisableNameChecking -AllowClobber
if(Get-Mailbox $Email) { Write-Host "$Email is ALREADY create" }
else { New-Mailbox -Name "$UserName" -UserPrincipalName "$Email" -Password (ConvertTo-SecureString "$MailPass" -AsPlainText -Force) -DisplayName "$UserName" -OrganizationalUnit NSD }
Set-Mailbox "$Email" -CustomAttribute1 "$MailPass" -Password (ConvertTo-SecureString "$MailPass" -AsPlainText -Force) -Force -Confirm:$false
if($NeedSharedMail -eq "True")
{
Add-MailboxPermission -User "$Email" -AccessRights FullAccess -InheritanceType All Shared@domain
Add-ADPermission -Identity "CN=shared,OU=Shared,DC=nausd,DC=local" -User "$Email" -ExtendedRights "Send As"
Set-Mailbox Shared -GrantSendOnBehalfTo "$Email"
}
Get-Mailbox -OrganizationalUnit NSD -ResultSize Unlimited | Format-List DisplayName, WindowsEmailAddress, CustomAttribute1 | Out-File -Encoding UTF8 mailbox.nausd
Remove-PSSession $Session