Jump to content

Exchange 2019 per scheduled Task in Maintenance Mode setzen (Server 2022)


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

Empfohlene Beiträge

Tach allerseits,

 

auch ein Exchange 2019 auf Server 2022 in einem Exchange DAG möchte gerne automatisch aktualisiert werden. Ich habe zwei Powershell-Skripte erstellt. Eines, um den Exchange vor den Updates in den Maintenance Mode zu setzen:

 

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
Set-ServerComponentState -Identity "SERVERNAME" -Component HubTransport -State Draining -Requester Maintenance
Suspend-ClusterNode "SERVERNAME"
Set-MailboxServer "SERVERNAME" -DatabaseCopyActivationDisabledAndMoveNow $true
Set-MailboxServer "SERVERNAME" -DatabaseCopyAutoActivationPolicy Blocked
Set-ServerComponentState "SERVERNAME" -Component ServerWideOffline -State Inactive -Requester Maintenance

 

Das andere, um den Server nach den Updates wieder aus dem Maintenance Mode zu holen, kann ich bei Bedarf posten. Das Problem ist das gleiche. Das Powershell läuft nicht korrekt, wenn ich es über scheduled Task einrichte. Ich wähle einen User, der lokale Adminrechte hat, wähle Run whether user is logged on or not und setze ein Häckchen bei Run with highest privileges.

Actions / Start a program

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe


Parameter

-ExecutionPolicy Bypass -command "& 'PfadzumSkript.ps1' -force"

 

Das Skript wird zwar ausgeführt, jedoch scheinen die Rechte zu fehlen. Diese Befehle zeigen, dass der Server noch nicht im Maintenance Mode ist:

Get-ServerComponentState -Identity "SERVERNAME"
get-clusternode


Wenn ich das Skript über eine Powershell als lokaler Admin ausführe, funktioniert es. Wie kriege ich das über die scheduled Task hin?

 

Grüsse

 

bearbeitet von telber1
2 optionen kursiv gestellt
Link zu diesem Kommentar

Hi,

 

ansonsten bau doch mal ein Logging in das Script ein. Du könntest bspw. einfach mal mit

anfangen.

 

Warum nimmst du den "-Command" Parameter und nicht "-File <LW>:\<Pfad zum>\Script.ps1"?

 

Gruß

Jan

Link zu diesem Kommentar

Moin,

 

hast du denn einmal am Anfang das Start-Transcript eingefügt und am Ende entsprechend Stop-Transcript? In den "Logs" findet sich dann auch gar nichts oder steht da "Ich mache leider trotzdem nichts". :-)

 

Ändert sich etwas, wenn du dich per Remote PowerShell im Script mit dem Exchange verbindest anstatt die Snap-Ins zu laden (Connect to Exchange servers using remote PowerShell | Microsoft Learn)?

 

Gruß

Jan

Link zu diesem Kommentar

Moin telber,

ich hatte einen ähnlichen Fehler und konnte es dann fixen indem ich den Pfad angepasst habe.

Unter dem Punk "Action" "Start a program" habe ich folgendes:

Program/script:
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe

Add arguments:

-command ". '%exchangeinstallpath%\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Pfad\Skriptname.ps1

LG
Lukas

Link zu diesem Kommentar
vor 24 Minuten schrieb telber1:

In den Logs steht nichts, da die Datei eben nicht erstellt wird.

Dann wird das Script gar nicht erst gestartet.

 

vor 25 Minuten schrieb telber1:

Dazu weiss ich bisher, dass das nicht möglich ist, oder schon?

Du benötigst an der Stelle keine Credentials solange der ausführende User des Tasks passende Rechte hat.

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...