Een console-shell maken

Windows PowerShell biedt een Make-Shell-hulpprogramma, ook wel de 'make-kit' genoemd, dat wordt gebruikt om een consoleshell te maken die niet kan worden gebruikt. Shells die met dit nieuwe hulpprogramma zijn gemaakt, kunnen later niet worden uitgebreid via Windows PowerShell module.

Syntax

Hier is de syntaxis die wordt gebruikt om Make-Shell uit te voeren vanuit een make-file.

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 ]

Parameters

Hier is een korte beschrijving van de parameters van Make-Shell.

Waarschuwing

UNC-paden naar assemblies worden niet ondersteund door Make-Shell.

Parameter Beschrijving
-out n.exe Vereist. De naam van de shell die moet worden geproduceerd. Het pad wordt opgegeven als onderdeel van deze parameter.

Make-shell wordt '.exe' aan deze waarde als deze niet is opgegeven. Let op: Maak geen uitvoerbestand met dezelfde naam als het .dll bestand. Als u dit probeert, maakt Make-Shell hulpprogramma een CS-bestand met dezelfde naam, waarmee het CS-bestand met de broncode van de cmdlet wordt overschreven.
-namespace ns Vereist. De naamruimte die moet worden gebruikt voor de afgeleide klasse System.Management.Automation.Runspaces.Runspaceconfiguration die de make-kit genereert en compileert.
-lib libdirectory1[,libdirectory2,..] De directories die worden gezocht naar .NET-assembly's, waaronder de Windows PowerShell-assembly's, assembly's die zijn opgegeven door de parameter , assembly's waarnaar indirect wordt verwezen door een andere assembly en reference de .NET-systeemassemblage's.
-reference ca1.dll[,ca2.dll,...] Een door komma's gescheiden lijst met de samen te nemen in de shell. Deze assemblies omvatten alle cmdlet- en providerassemblage's, evenals resourceassemblage's die moeten worden geladen. Als deze parameter niet is opgegeven, wordt er een shell geproduceerd die alleen de kern-cmdlets en providers bevat die door de Windows PowerShell.

De assemblies kunnen worden opgegeven met behulp van hun volledige pad, anders worden ze gezocht met behulp van het pad dat is opgegeven door de lib parameter .
-formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] Een door komma's gescheiden lijst met opmaakgegevens die moeten worden opgenomen in de shell. Als deze parameter niet is opgegeven, wordt er een shell geproduceerd die alleen de indelingsgegevens bevat die door de Windows PowerShell.
-typedata td1.type.ps1xml[,td2.type.ps1xml,...] Een door komma's gescheiden lijst met gegevens van het type die moeten worden opgenomen in de shell. Als deze parameter niet is opgegeven, wordt er een shell geproduceerd die alleen de typegegevens bevat die door de Windows PowerShell.
-source c1.cs [,c2.cs,...] De naam van een bestand, geleverd door de shell-ontwikkelaar, dat alle broncode bevat die nodig is om de shell te bouwen.

Het broncodebestand kan een van de volgende broncodes bevatten:

- De autorisatiebeheer-implementatie die de standaardautorisatiebeheerder overschrijven. (Dit kan ook worden geleverd bij een assembly.)
- Declaraties van informatief kenmerk assembly: zoals AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute en AssemblyTrademarkAttribute.
-authorizationmanager authorizationManagerType Het type dat de implementatie van autorisatiebeheer bevat. Dit kan worden gedefinieerd in de broncode of worden gecompileerd in een assembly (opgegeven door de reference parameter ). Als deze parameter niet is opgegeven, wordt de standaardbeveiligingsmanager gebruikt. De waarde moet de volledige typenaam zijn, inclusief naamruimten.
-win32icon i.ico Het pictogram voor het .exe voor de shell. Als dit niet is opgegeven, heeft de shell het pictogram dat de c#-compiler bevat (indien van mij).
-initscript p.ps1 Het opstartprofiel voor de shell. Het bestand is 'as-is' opgenomen; Er wordt geen geldigheidscontrole uitgevoerd door Make-Shell.
-builtinscript s1.ps1[,s2.ps1,...] Een lijst met ingebouwde scripts voor de shell. Deze scripts worden ontdekt vóór scripts in het pad en de inhoud ervan kan niet worden gewijzigd zodra de shell is gebouwd.

De bestanden zijn 'as-is' opgenomen; Er wordt geen geldigheidscontrole uitgevoerd door Make-Shell.
-resource resourcefile.txt Het .txt bestand met help- en bannerbronnen voor de shell. De eerste resource heeft de naam ShellHelp en bevat de tekst die wordt weergegeven als de shell wordt aangeroepen met de help parameter . De tweede resource heet ShellBanner en bevat de tekst en copyrightinformatie die wordt weergegeven wanneer de shell wordt gestart in de interactieve modus.

Als deze parameter niet is opgegeven of als deze resources niet aanwezig zijn, worden een algemene help en banner gebruikt.
-cscflags cscFlags Vlaggen die moeten worden doorgegeven aan de C#-compiler (csc.exe). Deze worden ongewijzigd doorgegeven. Als deze parameter spaties bevat, moet deze tussen dubbele aanhalingstekens staan.
-?

-help
Geeft het auteursrechtbericht en de Make-Shell opdrachtregelopties weer.
-uitgebreide Geeft gedetailleerde informatie weer terwijl de shell wordt gemaakt.

Zie ook

Handleiding voor Windows PowerShell-programmeurs

Windows PowerShell SDK