Freigeben über


Erstellen einer Konsolenshell

Windows PowerShell stellt ein Make-Shell Tool bereit, das auch als "Make-Kit" bezeichnet wird und zum Erstellen einer Konsolenshell verwendet wird, die nicht erweiterbar ist. Mit diesem neuen Tool erstellte Shells können später nicht über ein Windows PowerShell Snap-In erweitert werden.

Syntax

Dies ist die Syntax, die verwendet wird, um Make-Shell innerhalb einer Make-File auszuführen.

make-shell
  -out n.exe
  -namespace ns
  [ -lib libdirectory1[,libdirectory2,..] ]
  [ -reference ca1.dll[,ca2.dll,...] ]
  [ -formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] ]
  [ -typedata td1.type.ps1xml[,td2.type.ps1xml,...] ]
  [ -source c1.cs [,c2.cs,...] ]
  [ -authorizationmanager authorizationManagerType ]
  [ -win32icon i.ico ]
  [ -initscript p.ps1 ]
  [ -builtinscript s1.ps1[,s2.ps1,...] ]
  [ -resource resourcefile.txt ]
  [ -cscflags cscFlags ]
  [ -? | -help ]

Parameter

Im Folgenden finden Sie eine kurze Beschreibung der Parameter von Make-Shell.

Achtung

UNC-Pfade zu Assemblys werden von Make-Shell nicht unterstützt.

Parameter BESCHREIBUNG
-out n.exe Erforderlich. Der Name der zu erstellende Shell. Der Pfad wird als Teil dieses Parameters angegeben.

Make-Shell fügt ".exe" an diesen Wert an, wenn er nicht angegeben ist. Vorsicht: Erstellen Sie keine Ausgabedatei mit dem gleichen Namen wie die Datei, auf die .dll verwiesen wird. Wenn Sie dies versuchen, erstellt das Make-Shell Tool eine CS-Datei mit dem gleichen Namen, die die CS-Datei überschreibt, die ihren Cmdlet-Quellcode enthält.
-namespace ns Erforderlich. Der Namespace, der für die abgeleitete System.Management.Automation.Runspaces.Runspaceconfiguration-Klasse verwendet werden soll, die vom Make-Kit generiert und kompiliert wird.
-lib libdirectory1[,libdirectory2,..] Die Verzeichnisse, die nach .NET-Assemblys durchsucht werden, einschließlich der Windows PowerShell Assemblys, assemblys, die durch den -Parameter angegeben reference werden, Assemblys, auf die indirekt von einer anderen Assembly verwiesen wird, und die .NET-Systemassemblys.
-reference ca1.dll[,ca2.dll,...] Eine durch Kommas getrennte Liste der Assemblys, die in die Shell eingeschlossen werden sollen. Diese Assemblys umfassen alle Cmdlet- und Anbieterassemblys sowie Ressourcenassemblys, die geladen werden sollen. Wenn dieser Parameter nicht angegeben wird, wird eine Shell erstellt, die nur die von Windows PowerShell bereitgestellten Kern-Cmdlets und -Anbieter enthält.

Die Assemblys können mit ihrem vollständigen Pfad angegeben werden, andernfalls werden sie mithilfe des vom -Parameter angegebenen Pfads lib gesucht.
-formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] Eine durch Kommas getrennte Liste von Formatdaten, die in die Shell eingeschlossen werden sollen. Wenn dieser Parameter nicht angegeben ist, wird eine Shell erstellt, die nur die von Windows PowerShell bereitgestellten Formatdaten enthält.
-typedata td1.type.ps1xml[,td2.type.ps1xml,...] Eine durch Trennzeichen getrennte Liste von Typdaten, die in die Shell eingeschlossen werden sollen. Wenn dieser Parameter nicht angegeben ist, wird eine Shell erstellt, die nur die von Windows PowerShell bereitgestellten Typdaten enthält.
-source c1.cs [,c2.cs,...] Der Name einer Datei, die vom Shellentwickler bereitgestellt wird und den Quellcode enthält, der zum Erstellen der Shell erforderlich ist.

Die Quellcodedatei kann einen der folgenden Quellcodes enthalten:

– Die Autorisierungs-Manager-Implementierung, die den Standardautorisierungs-Manager überschreibt. (Dies kann auch in einer Assembly kompiliert werden.)
- Assemblyinformationsattributdeklarationen: AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute und AssemblyAttributemarkAttribute.
-authorizationmanager authorizationManagerType Der Typ, der die Implementierung des Autorisierungs-Managers enthält. Dies kann im Quellcode definiert oder in eine Assembly kompiliert werden (angegeben durch den reference -Parameter). Wenn dieser Parameter nicht angegeben ist, wird der Standardsicherheits-Manager verwendet. Der Wert sollte der vollständige Typname sein, einschließlich Namespaces.
-win32icon i.ico Das Symbol für die .exe-Datei für die Shell. Wenn keine Angabe erfolgt, verfügt die Shell über das Symbol, das der c#-Compiler enthält (sofern vorhanden).
-initscript p.ps1 Das Startprofil für die Shell. Die Datei ist "as-is" enthalten. Make-Shell überprüft nicht die Gültigkeit.
-builtinscript s1.ps1[,s2.ps1,...] Eine Liste der integrierten Skripts für die Shell. Diese Skripts werden vor Skripts im Pfad ermittelt, und ihre Inhalte können nicht mehr geändert werden, nachdem die Shell erstellt wurde.

Die Dateien sind "wie bewesend" enthalten. Make-Shell überprüft nicht die Gültigkeit.
-resource resourcefile.txt Die .txt-Datei, die Hilfe- und Bannerressourcen für die Shell enthält. Die erste Ressource heißt ShellHelp und enthält den Text, der angezeigt wird, wenn die Shell mit dem -Parameter aufgerufen help wird. Die zweite Ressource heißt ShellBanner und enthält die Text- und Copyrightinformationen, die angezeigt werden, wenn die Shell im interaktiven Modus gestartet wird.

Wenn dieser Parameter nicht bereitgestellt wird oder diese Ressourcen nicht vorhanden sind, werden eine generische Hilfe und ein Banner verwendet.
-cscflags cscFlags Flags, die an den C#-Compiler (csc.exe) übergeben werden sollen. Diese werden unverändert durch übergeben. Wenn dieser Parameter Leerzeichen enthält, sollte er in doppelte Anführungszeichen eingeschlossen werden.
-?

-help
Zeigt die Copyrightmeldung und Make-Shell Befehlszeilenoptionen an.
-verbose Zeigt ausführliche Informationen an, während die Shell erstellt wird.

Weitere Informationen

Windows PowerShell-Programmiererhandbuch

Windows PowerShell SDK