sinzal
Goto Top

Exchange 2016: Öffentlichen Ordner zu Kalender umwandeln

Hallo Admins,

eine (hoffentlich) kurze Frage: Ich möchte einen öffentlichen Ordner in Exchange 2016 als Kalender einrichten. Ich habe ihn bereits in der EAC als neuen Ordner angelegt, nun muss ich ihn noch zu einem Kalender-Typ erklären.
Nach https://www.frankysweb.de/exchange-2013-offentliche-ordner/ dürfte das nur über die EMS gehen, wozu ich allerdings bisher keinen Befehl ausfindig machen konnte. Könnt ihr mir sagen, wie ein solcher Befehl lauten muss?

Viele Grüße,
Sinzal

Content-ID: 551811

Url: https://administrator.de/contentid/551811

Ausgedruckt am: 05.11.2024 um 20:11 Uhr

Inf1d3l
Inf1d3l 26.02.2020 aktualisiert um 15:21:49 Uhr
Goto Top
Unterordner des Typs Kalender anlegen (z.B. über Outlook mit entsprechenden Berechtigungen). Den öffentlichen Ordner selbst kannst du nicht zum Kalender machen, soweit ich weiß.
beidermachtvongreyscull
Lösung beidermachtvongreyscull 26.02.2020 um 15:22:09 Uhr
Goto Top
Hi,

wieso so kompliziert?

Wenn Du die Macht über die öffentlichen Ordner hast, dann geh ins Outlook, öffne die Öffentlichen Ordner und mach nen Rechtsklick an der Stelle, wo Du darunter einen neuen öffentlichen Unterordner haben möchtest.

In dem Dialog wählst Du dann den Bereitstellungstyp "Kalender" aus.

So mach ich das.
143127
143127 26.02.2020 aktualisiert um 15:24:52 Uhr
Goto Top
Könnt ihr mir sagen, wie ein solcher Befehl lauten muss?
Via EWS geht das z.B. oder eben den Ordner direkt in Outlook anlegen.
Sinzal
Sinzal 26.02.2020 um 15:25:15 Uhr
Goto Top
Soweit ich weiß, kann man das Öffentliche Postfach nicht ändern, aber für den öffentlichen Ordner kann man das wohl. Nur muss es über die Shell gehen statt über die EAC.
Habe auch schon versucht, einen Unterordner anzulegen, aber auch bei diesem gibt es keine Möglichkeit, den Typ festzulegen.
143127
143127 26.02.2020 aktualisiert um 15:32:13 Uhr
Goto Top
Siehe Link oben, mit EWS (geht auch mit Powershell) geht das auch per cli
Creating folders by using the EWS Managed API 2.0
Sinzal
Sinzal 26.02.2020 um 15:47:09 Uhr
Goto Top
Hallo Admins,

ich habe die Variante genommen, den Ordner im Outlook anzulegen mit einem Konto, dass globale Adminrechte hatte.
Danke für die Links mit den EWS- oder CLI-Befehlen. Die habe ich dann aber nicht mehr getestet.

Viele Grüße,
Sinzal
colinardo
colinardo 26.02.2020 aktualisiert um 16:53:18 Uhr
Goto Top
Servus.
Zitat von @Sinzal:
Danke für die Links mit den EWS- oder CLI-Befehlen. Die habe ich dann aber nicht mehr getestet.

Das kann ich dir auch gerne liefern falls du es doch mal brauchen kannst face-smile

(Der Großteil ist nur für das Nachladen der EWS DLL, damit auch ein Noob sich diese nicht erst besorgen muss, das essentielle beginnt erst ab Zeile 35)

Kommentare s. Skript
# Exchange Server FQDN
$EXFQDN = "mail.domain.tld"  

# Funktion zum Laden des EWS Assemblies
function Load-EWSLibrary {
    $localpath = "$PSScriptRoot\Microsoft.Exchange.WebServices.dll"  
    if(!(Test-Path $localpath )){
        Add-Type -A System.IO.Compression.FileSystem
        $tmp = "$env:TEMP\$([IO.Path]::GetRandomFileName())"  
        write-host "Downloading and extracting required 'Microsoft.Exchange.WebServices.dll' ... " -F Green -NoNewline  
        try{
            (New-Object System.Net.WebClient).DownloadFile('https://www.nuget.org/api/v2/package/Exchange.WebServices.Managed.Api/2.2.1.2', $tmp)  
            $zip = [System.IO.Compression.ZipFile]::OpenRead($tmp)
            $zip.Entries | ?{$_.Fullname -eq 'lib/net35/Microsoft.Exchange.WebServices.dll'} | %{  
                [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_,$localpath)
            }
            write-host "OK" -F Green  
        }catch{
            throw "Error downloading required EWS Library / Error: $($_.Exception.Message)"  
        }finally{
            if ($zip){$zip.Dispose()}
            del $tmp -Force -EA SilentlyContinue
        }
    }
    Add-Type -Path $localpath
}

# EWS DLL laden
Load-EWSLibrary

# EWS Objekt erstellen
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010)
$service.Url = "https://$EXFQDN/ews/exchange.asmx"  

# Public Folder Root referenzieren
$publicfolderroot = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::PublicFoldersRoot)

# neuen Ordner erstellen
$newfolder = New-Object Microsoft.Exchange.WebServices.Data.CalendarFolder $service

# Name des neuen Kalender-Ordners festlegen
$newfolder.DisplayName = "MeinTestKalender"  

# und im Public Folder Root abspeichern
$newfolder.Save($publicfolderroot.Id)
Grüße Uwe