$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