Windows PowerShell ISE importiert kein PSCX 2.0-Modul

996
Alexander

Ich verwende Powershell 2.0 mit dem PSCX 2.0-Modul.

Beim Schreiben von PS-Skripts in Windows PowerShell ISE sind keine Cmdlets aus dem PSCX-Modul verfügbar. Wenn Sie beispielsweise "Get-DriveInfo" von Windows PowerShell ISE ausführen, wird ein Fehler verursacht. Das Ausführen von "Get-DriveInfo" von Powershell funktioniert einwandfrei.

Ich schätze, Windows PowerShell ISE lädt mein PS-Profil nicht (das wäre toll). Weiß jemand warum und was zu tun ist, damit es funktioniert?

1

2 Antworten auf die Frage

3
Shay Levy

Ich kann pscx 2.0 importieren und Get-DriveInfo ausführen. ISE verfügt über eine eigene Profildatei. Geben Sie $ profile ein, und drücken Sie die Eingabetaste, um den Speicherort zu ermitteln.

C: \ Benutzer \ Benutzername \ Dokumente \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1

Wie? Können Sie uns bitte die Stufen näher erläutern? Beim Import-Modul pscx wird eine Fehlermeldung angezeigt (nach dem Herunterladen und Installieren). mobibob vor 11 Jahren 0
1
Poshoholic

Shay hat recht. Wenn Sie wirklich möchten, dass Ihr PowerShell-Profil in Ihr ISE-Profil geladen wird, können Sie es einfach dot-source machen, indem Sie diese Zeile zum ISE-Profil hinzufügen:

. C:\Users\UserName\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 

Es gibt einen guten Grund, warum die ISE ein eigenes Profil hat. Es gibt Dinge, die Sie in der ISE tun können, die Sie nicht an anderer Stelle ausführen können (z. B. definieren Sie benutzerdefinierte Menüelemente, die in der ISE angezeigt werden). Es ist nützlich, diese Dinge beim Start automatisch mithilfe des Profils ausführen zu können. Sie benötigen jedoch unterschiedliche Profile, um zu steuern, was wo ausgeführt wird.

Es gibt auch Dinge, die Sie in der Windows PowerShell-Konsole tun können, die Sie in der ISE nicht ausführen können. Sie können beispielsweise in der PowerShell-Konsole eine benutzerdefinierte Eingabeaufforderung erstellen, die mehrere Farben anzeigt. Die ISE unterstützt jedoch derzeit keine mehrfarbigen Eingabeaufforderungen. Dies wird normalerweise auch in einem Profilskript ausgeführt.

Wenn Sie unterschiedliche Anpassungen auf verschiedenen Hosts vornehmen, sollten Sie ein Skript einrichten, das alle üblichen Dinge enthält, die Sie in jedem Profil ausführen möchten, und dann dieses Skript in jedes Profil einfügen. Fügen Sie dann jede Host-spezifische Arbeit in die Host-spezifischen Profile ein. In den meisten Fällen müssen Sie sich jedoch nur mit Ihrem gemeinsam genutzten Skript befassen, es sei denn, Sie müssen sofortige Anpassungen vornehmen oder Add-Ons für die ISE erstellen.