Ich bin ein bisschen ein PowerShell-Neuling.
Also habe ich ein Skript erstellt, das das Restore-SqlDatabase
Commandlet verwendet. Nachdem ich es ausgeführt habe, befindet sich Powershell jedoch in einem anderen Zustand.
PS D:\theFolder\> .\myRestoreDatabaseScript.ps1
... snip does the work ...
PS SQLSERVER:\>
Wie kann ich Powershell zur "normalen" Oberfläche zurückführen?
Wie heißt das PS SQLSERVER
Präfix? Ich habe versucht, dies zu googeln und bin leer ausgegangen.
quelle
push-location
vor dem Importsqlps
undpop-location
nach dem Import und Sie sind gut zu gehen.das scheint bei mir zu funktionieren:
quelle
Geben Sie einfach
C:
an der Eingabeaufforderung ein, um zur üblichen Eingabeaufforderung (z. B. C: \>) zurückzukehren.Nur zur Information, was möglicherweise die SMO-Eingabeaufforderung (dh PS SQLSERVER:> ) von der normalen Eingabeaufforderung C: \> ausgelöst hat , ist, wenn Sie die SMO-Assembly ohne Out-Null laden (out-null unterdrückt die vom Cmdlet zurückgegebene Ausgabe ).
Mit anderen Worten, um zu vermeiden, dass beim Laden der SMO-Assembly versehentlich in die SMO-Eingabeaufforderung gewechselt wird, leiten Sie den Out-Null einfach wie folgt weiter:
Verwenden Sie stattdessen den Add-Type, da Microsoft die LoadWithPartialName () -Methode nicht mehr unterstützt:
Hinweis: Um den Pfad zu Ihrer Assembly / DLL abzurufen, verwenden Sie die folgende GetAssemblies () -Methode:
HTH.
quelle