Powershell Version 3 I Funktion in der Datei ONE.ps1 schreiben:Powershell-Skript läuft einmal
Function ONE {
Write-Output "test1";
}
Dann erstelle ich Datei RUN.ps1 im selben Verzeichnis mit Inhalt:
import-module D:\ps\ONE.ps1
ONE
Nach ich betreibe PS-Konsole, könnte ich diesen Code nur 1 Mal ausführen:
.\!RUN.ps1
Ausgang: test1
Aber wenn ich versuche es zum zweiten Mal zu tun, ich habe einen Fehler:
ONE : The term 'ONE' is not recognized as the name of a cmdlet, function, script file, or operable program.
Nach Konsole Neustart Ich habe wieder eine erfolgreiche Ausführung und dann Fehler.
Also, könnten Sie vorschlagen, was schief läuft?
Zusätzliche Details: kurz nachdem ich diese Skripte erstellt habe, konnte ich es einige Male ausführen, aber in einigen Tagen, wahrscheinlich nach dem Neustart, erscheint dieser Fehler. Also vielleicht fehlen mir einige Import-Anweisungen, die ich gemacht habe, als ich das erste Mal geschrieben habe, aber vergessen habe, das endgültige Skript hinzuzufügen.
Antwort von Martin Brandl das Problem lösen:
import-module D:\ps\ONE.ps1 -force
Aber wenn jemand eine andere Art und Weise kennen - es wäre interessant, sie heraus zu überprüfen. Weil das Modul bereits registriert sein sollte. Und Get-Module-Befehl kann dieses Modul sehen, aber aus irgendeinem Grund kann ich es nicht verwenden, das irgendwie nicht richtig.
können Sie versuchen, den Parameter '-force' im Cmdlet 'Import-Module' zu verwenden. –
danke, das hilft. – Niobis27
Gern geschehen. Ich habe meinen Kommentar als Antwort hinzugefügt. –