websas 0 Geschrieben 8. Dezember 2016 Melden Teilen Geschrieben 8. Dezember 2016 (bearbeitet) Hallo zusammen, ich bin was Skripten und Shell anbelangt leider ein absoluter Noob und konnte auf die schnelle auch keine Lösung dazu finden, daher wäre ich für hilfreiche Tipps sehr dankbar. Hintergrund: Ich möchte bestimmte Verteilergruppen per Skript im Outlook Adressbuch aus- / einblenden. Wenn ich das ganze manuell in der Exchange Management Shell mache funktioniert das damit auch: Set-DistributionGroup -Identity Beispielverteilergruppe -HiddenFromAddressListsEnabled $false Ich würde das ganze jetzt aber gerne automatisiert einmal täglich laufen lassen und bekomme es absolut nicht hin. Vom Prinzip her sollte ich eine Batch Datei haben, die ich per Taskplaner ausführe - durch diese Batch Datei wird dann ein Powershell Skript ausgeführt das die entsprechenden Befehle zum ein/ausblenden enthält. Richtig soweit? Oder wie muss ich das ganze aufbauen? Und vor allem, wie muss die Syntax des PS Skripts und der Batch Datei aussehen? VG Sascha bearbeitet 8. Dezember 2016 von websas Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 8. Dezember 2016 Melden Teilen Geschrieben 8. Dezember 2016 Du kannst die Powershell auch direkt aus dem Task Planer starten. Zitieren Link zu diesem Kommentar
Nobbyaushb 1.475 Geschrieben 8. Dezember 2016 Melden Teilen Geschrieben 8. Dezember 2016 (bearbeitet) Und wenn du nicht die PowerShell vom Exchange verwendest, musst du erst die module einbinden, Jörge hat das mal beschrieben: https://social.technet.microsoft.com/Forums/de-DE/c4b483f8-9f2c-48bc-bbfe-60b5eab30553/exchange-management-shell-and-powershell?forum=exchange_serverde ;) Es sei mir gestattet, nach der Sinnhaftigkeit von der Aktion zu fragen? bearbeitet 8. Dezember 2016 von Nobbyaushb Zitieren Link zu diesem Kommentar
websas 0 Geschrieben 8. Dezember 2016 Autor Melden Teilen Geschrieben 8. Dezember 2016 (bearbeitet) Und wenn du nicht die PowerShell vom Exchange verwendest, musst du erst die module einbinden, Jörge hat das mal beschrieben: https://social.technet.microsoft.com/Forums/de-DE/c4b483f8-9f2c-48bc-bbfe-60b5eab30553/exchange-management-shell-and-powershell?forum=exchange_serverde ;) Es sei mir gestattet, nach der Sinnhaftigkeit von der Aktion zu fragen? Ganz sinnhaftig ist das ganze leider nicht, aber wir brauchen einen Workaround für ein Drittanbieter Tool (Erstellung von Abwesenheitsübersichten anhand von Outlook Kalendereinträgen, da wir viele verschachtelte Verteiler haben und die nicht alle dauerhaft sichtbar sein sollen, ist leider dieser Umweg notwendig. Also ich habe es jetzt zumindestens mal hinbekommen das es als PS Skript funktioniert: # . 'C:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1' Connect-ExchangeServer -auto Set-DistributionGroup -Identity Beispielverteilername -HiddenFromAddressListsEnabled $false # Wenn ich das Skript dann aber im Taskplaner mit den Standardeinstellungen ausführe schlägt es mit (0x1) fehl. Weiß jemand woran das liegen kann? bearbeitet 8. Dezember 2016 von websas Zitieren Link zu diesem Kommentar
Nobbyaushb 1.475 Geschrieben 8. Dezember 2016 Melden Teilen Geschrieben 8. Dezember 2016 Unter welchem Kontext läuft das Script, ein Dienstkonto mit PW angegeben? Dieses Konto muss die passenden Rechte auf dem Exchange haben, Stichwort RBAC ;) Zitieren Link zu diesem Kommentar
PowerShellAdmin 169 Geschrieben 9. Dezember 2016 Melden Teilen Geschrieben 9. Dezember 2016 (bearbeitet) 0x1 heißt, dass der Skript fehlerhaft ausgeführt wurde (Returncode) und ist keine qualifzierte Fehlerangabe. Für Debugging sollte man seine PowerShell Skripte am besten immer ein Logging verwenden. Hier bietet sich eine Trap mit entsprechenden Template an, was dann in eine Logdatei übergeben wird :) und oder noch per Email zugestellt werden. Meine PS Skripte haben jedenfalls immer ein kompletten Kontstrukt und enthalten nicht nur den Einzeiler (falls dieser den mal ausreicht ;) ) Je nach PS Version (ab 3 nicht mehr notwendig), musst du in deinem Skript das PS Exchange Modul noch importieren, damit er die Exchange Befehler ausführen kann. Ansonsten hat ja Nobby bereits geschrieben, dass der Kontext, unter dem die Skriptausfühurng stattfindet, entscheidend ist. bearbeitet 9. Dezember 2016 von PowerShellAdmin Zitieren Link zu diesem Kommentar
websas 0 Geschrieben 12. Dezember 2016 Autor Melden Teilen Geschrieben 12. Dezember 2016 Habe es jetzt zum Laufen bekommen. Danke für die Hilfe. Ein Problem war u.a. noch ein Leerzeichen im Skriptnamen. Lösung: Skript: Set-DistributionGroup -Identity Verteilername -HiddenFromAddressListsEnabled $false Task: Program/script C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe add arguments -NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Skriptpfad" Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.