Jak utworzyć powłokę konsoliHow to Create a Console Shell

Środowisko Windows PowerShell udostępnia narzędzie Make-Shell, nazywane także "zestawem", które jest używane do tworzenia powłoki konsoli, która nie jest rozszerzalna.Windows PowerShell provides a Make-Shell tool, also referred to as the "make-kit", that is used to create a console shell that is not extensible. Powłok utworzonych za pomocą tego nowego narzędzia nie można rozszerzyć później za pomocą przystawki programu Windows PowerShell.Shells created with this new tool cannot be extended later through a Windows PowerShell snap-in.

SkładniaSyntax

Poniżej przedstawiono składnię używaną do uruchamiania Make-Shell z poziomu pliku wykonywalnego.Here is the syntax used to run Make-Shell from within a 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 ]

ParametryParameters

Poniżej znajduje się krótki opis parametrów powłoki marki.Here is a brief description of the parameters of Make-Shell.

Przestroga

Ścieżki UNC do zestawów nie są obsługiwane przez powłokę.UNC paths to assemblies are not supported by Make-Shell.

ParametrParameter OpisDescription
n.exe-out-out n.exe Wymagane.Required. Nazwa powłoki do wyprodukowania.The name of the shell to produce. Ścieżka jest określona jako część tego parametru.The path is specified as part of this parameter.

Jeśli ta wartość nie zostanie określona, w powłoce zostanie dołączona ". exe".Make-shell will append ".exe" to this value if it is not specified. Przestroga: Nie należy tworzyć pliku wyjściowego o takiej samej nazwie jak plik dll, do którego się odwołuje.Caution: Do not create an output file with the same name as the referenced .dll file. Jeśli zostanie podjęta próba tego, narzędzie Make-Shell utworzy plik CS o tej samej nazwie, co spowoduje zastąpienie pliku CS zawierającego kod źródłowy polecenia cmdlet.If you attempt this, the Make-Shell tool creates a .cs file with the same name, which will overwrite the .cs file that has your cmdlet source code.
-Przestrzeń nazw NS-namespace ns Wymagane.Required. Przestrzeń nazw, która ma być używana dla pochodnej klasy System. Management. Automation. obszarami działania. Runspaceconfiguration , którą tworzy i kompiluje.The namespace to use for the derived System.Management.Automation.Runspaces.Runspaceconfiguration class that the make-kit generates and compiles.
-lib libdirectory1 [, libdirectory2,..]-lib libdirectory1[,libdirectory2,..] Katalogi, w których są przeszukiwane zestawy .NET, w tym zestawy Windows PowerShell, zestawy określone przez reference parametr, zestawy pośrednie, do których odwołuje się inny zestaw, i zestawy systemowe .NET.The directories that are searched for .NET assemblies, including the Windows PowerShell assemblies, assemblies specified by the reference parameter, assemblies indirectly referenced by another assembly, and the .NET system assemblies.
-Reference ca1.dll [, ca2.dll,...]-reference ca1.dll[,ca2.dll,...] Rozdzielana przecinkami lista zestawów do uwzględnienia w powłoce.A comma-separated list of the assemblies to include in the shell. Te zestawy obejmują wszystkie polecenia cmdlet i zestawy dostawców, a także zestawy zasobów, które powinny zostać załadowane.These assemblies includes all cmdlet and provider assemblies, as well as resource assemblies that should be loaded. Jeśli ten parametr nie jest określony, zostanie utworzona powłoka zawierająca tylko podstawowe polecenia cmdlet i dostawców zapewnianych przez program Windows PowerShell.If this parameter is not specified, then a shell is produced that contains only the core cmdlets and providers provided by Windows PowerShell.

Zestawy można określić przy użyciu pełnej ścieżki, w przeciwnym razie będą wyszukiwane przy użyciu ścieżki określonej przez lib parametr.The assemblies can be specified using their full path, otherwise they will be searched for using the path specified by the lib parameter.
-formatData fd1.format.ps1XML [, fd2.format.ps1XML,...]-formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] Rozdzielana przecinkami lista danych formatu do uwzględnienia w powłoce.A comma-separated list of format data to include in the shell. Jeśli ten parametr nie jest określony, zostanie utworzona powłoka zawierająca tylko dane formatu dostarczone przez program Windows PowerShell.If this parameter is not specified, then a shell is produced that contains only the format data provided by Windows PowerShell.
-typedata td1.type.ps1XML [, td2.type.ps1XML,...]-typedata td1.type.ps1xml[,td2.type.ps1xml,...] Rozdzielana przecinkami lista danych typu do uwzględnienia w powłoce.A comma-separated list of type data to include in the shell. Jeśli ten parametr nie jest określony, zostanie utworzona powłoka zawierająca tylko dane typu dostarczone przez program Windows PowerShell.If this parameter is not specified, then a shell is produced that contains only the type data provided by Windows PowerShell.
-source c1.cs [, c2.cs,...]-source c1.cs [,c2.cs,...] Nazwa pliku dostarczonego przez dewelopera powłoki, który zawiera kod źródłowy wymagany do skompilowania powłoki.The name of a file, provided by the shell developer, that contains any source code needed to build the shell.

Plik kodu źródłowego może zawierać dowolny z następujących kodów źródłowych:The source code file can contain any of the following source code:

— Implementacja Menedżera autoryzacji, która zastępuje domyślny Menedżer autoryzacji.- The Authorization manager implementation that overrides the default authorization manager. (Można to również dostarczyć skompilowane do zestawu).(This could also be supplied compiled into an assembly.)
-Deklaracje atrybutów informacyjnych zestawu: takie jak AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute i AssemblyTrademarkAttribute.- Assembly informational attribute declarations: such as the AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute, and AssemblyTrademarkAttribute.
-AuthorizationManager authorizationManagerType-authorizationmanager authorizationManagerType Typ, który zawiera implementację Menedżera autoryzacji.The type that contains the authorization manager implementation. Może to być zdefiniowane w kodzie źródłowym lub skompilowane w zestawie (określonym przez reference parametr).This can be defined in source code, or compiled into an assembly (specified by the reference parameter). Jeśli ten parametr nie jest określony, używany jest domyślny Menedżer zabezpieczeń.If this parameter is not specified, the default security manager is used. Wartość powinna być pełną nazwą typu, włącznie z przestrzeniami nazw.The value should be the full type name, including namespaces.
-win32icon i. ico-win32icon i.ico Ikona pliku exe dla powłoki.The icon for the .exe file for the shell. Jeśli nie zostanie określony, powłoka będzie miała ikonę, która zawiera kompilator języka c# (jeśli istnieje).If not specified, then the shell will have the icon that the c# compiler includes (if any).
-initscript p.ps1-initscript p.ps1 Profil uruchamiania powłoki.The startup profile for the shell. Plik jest zawarty "AS-IS"; Sprawdzanie poprawności nie jest wykonywane przez tworzenie powłoki.The file is included "as-is"; no validity checking is done by Make-Shell.
-builtinscript s1.ps1 [, s2.ps1,...]-builtinscript s1.ps1[,s2.ps1,...] Lista wbudowanych skryptów dla powłoki.A list of built-in scripts for the shell. Te skrypty są odnajdywane przed skryptami w ścieżce, a ich zawartość nie może zostać zmieniona po skompilowaniu powłoki.These scripts are discovered before scripts in the path, and their contents cannot be changed once the shell is built.

Pliki są uwzględniane "AS-IS"; Sprawdzanie poprawności nie jest wykonywane przez tworzenie powłoki.The files are included "as-is"; no validity checking is done by Make-Shell.
-resourcefile.txt zasobów-resource resourcefile.txt Plik txt zawierający zasoby pomocy i transparentów dla powłoki.The .txt file containing help and banner resources for the shell. Pierwszy zasób ma nazwę ShellHelp i zawiera tekst wyświetlany, gdy powłoka jest wywoływana z help parametrem.The first resource is named ShellHelp, and contains the text displayed if the shell is invoked with the help parameter. Drugi zasób ma nazwę ShellBanner i zawiera informacje o tekstach i prawach autorskich, które są wyświetlane, gdy powłoka jest uruchamiana w trybie interaktywnym.The second resource is named ShellBanner, and it contains the text and copyright information displayed when the shell is launched in interactive mode.

Jeśli ten parametr nie zostanie podany lub te zasoby nie są obecne, zostanie użyta ogólna pomoc i transparent.If this parameter is not provided, or these resources are not present, then a generic help and banner are used.
-cscflags cscFlags-cscflags cscFlags Flagi, które powinny być przesyłane do kompilatora C# (csc.exe).Flags that should be passed to the C# compiler (csc.exe). Są one przesyłane przez niezmienione.These are passed through unchanged. Jeśli ten parametr zawiera spacje, powinien być ujęty w cudzysłów podwójny.If this parameter includes spaces, it should be surrounded in double-quotes.
-?-?

— Pomoc-help
Wyświetla komunikat o prawach autorskich i Make-Shell opcje wiersza polecenia.Displays the copyright message and Make-Shell command line options.
-verbose-verbose Wyświetla szczegółowe informacje podczas tworzenia powłoki.Displays detailed information while the shell is being created.

Zobacz teżSee Also

Windows PowerShell — przewodnik programistyWindows PowerShell Programmer's Guide

Windows PowerShell SDKWindows PowerShell SDK