8
0
Skriptentwickung/current/New-Subfolder-inExchangeMailbox/New-Subfolder-inExchangeMailbox.ps1
2024-01-24 16:42:38 +01:00

30 lines
1.4 KiB
PowerShell

cls
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mc2-vmx01-com01.mc2.local/PowerShell/ -Authentication Basic -Credential $UserCredential
Import-PSSession $Session
exit
# E-Mail-Adressen der Mailboxen
$mailboxes = @("maxmustermann@domain.de","henriettemuster@domain.de")
# Name des neuen Ordners
$name_folder = "MailStoreArchiv"
$ewsdll = "C:\Program Files\Microsoft\Exchange\Web Services\1.0\Microsoft.Exchange.WebServices.dll"
[void][Reflection.Assembly]::LoadFile($ewsdll)
$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010)
$windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$sid = "LDAP://<SID=" + $windowsIdentity.user.Value.ToString() + ">"
$adminuser = [ADSI]$sid
$service.AutodiscoverUrl($adminuser.mail.ToString())
foreach($mailbox in $mailboxes){
$parentfolderid = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot, $mailbox)
[Microsoft.Exchange.WebServices.Data.Folder]::Bind($service, $parentfolderid) | out-null
$NewFolder = new-object Microsoft.Exchange.WebServices.Data.CalendarFolder($service)
$NewFolder.DisplayName = $name_folder
$NewFolder.Save($parentfolderid)
} #end foreach