2009-03-25 9 views
1

Ich habe ein Powershell-Skript entwickelt, um Updates für eine Reihe von Anwendungen bereitzustellen. einschließlich SQL Server-DatenbankaktualisierungenAnwendungsbereitstellung mit Powershell

Als nächstes brauche ich eine Möglichkeit, diese Skripte auf mehr als 100 Servern auszuführen; ohne sich manuell mit jedem Server zu verbinden. "Powershell v2 mit Remoting" ist keine Option, da es immer noch in CTP ist.

Powershell v1 mit WinRM sieht am vielversprechendsten aus, aber ich kann kein Feedback von meinen Skripten erhalten. Die Skripte werden ausgeführt, aber ich muss über Ausnahmen informiert werden. Die Skripte erstellen eine Protokolldatei. Gibt es eine Möglichkeit, den Inhalt der Protokolldatei zurück an den "Client" (den lokalen Computer, der die Remoteanrufe durchführt) zu senden?

Antwort

1

Schnelle Antwort ist Nein. Lange Version ist möglich, wird aber viele Hacks beinhalten. Ich habe letztes Jahr ein sehr ähnliches Deployment-Skript/System mit PowerShell 2 entwickelt. Die Remoting-Funktion ist der Hauptgrund dafür, dass wir den CTP-Status akzeptieren. PowerShell 1 mit WinRM ist bestenfalls flockig und wie du gesagt hast, gab es keine echte Rückmeldung außer ok oder fehlgeschlagen.

Alternative, die ich in Betracht gezogen mit PsExec, die sehr viel nicht-Standard ist und möglicherweise durch Firewall blockiert werden. Der andere Ansatz beinhaltet die Verwendung von System-Management-Tools wie MS System Center, aber das ist nur ein großer Hammer für einen winzigen Nagel. Sie müssen also Ihr Gift auswählen ...

0

Nur ein Kommentar dazu: Der einfachste Weg zum Erfassen der Powershell-Ausgabe besteht darin, das Cmdlet start-transcript zu verwenden, um die Konsolenausgabe in eine Datei zu leiten. Wir haben zu Beginn unseres Skripts ein kleines Snippet, das eine Protokolldatei mit der Konsolenausgabe von jedem Skript an eine zentrale Dateifreigabe sendet und die Protokolldatei mit dem Skriptnamen und dem Ausführungsdatum benennt, damit wir eine Vorstellung davon haben Was ist passiert. Es ist nicht allzu schwierig, all diese Protokolldateien zur weiteren Verarbeitung in eine Datenbank zu puffern. Wahrscheinlich werden Sie nicht alle Ihre Probleme lösen, aber würde auf jeden Fall helfen bei der "Daten zurück" Teil.

Mit freundlichen Grüßen, Trond