Jump to content

Exchange Befehl per Skript ausführen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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 von websas
Link zu diesem Kommentar

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 von Nobbyaushb
Link zu diesem Kommentar

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 von websas
Link zu diesem Kommentar

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 von PowerShellAdmin
Link zu diesem Kommentar

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"
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...