Come creare una shell di consoleHow to Create a Console Shell

Windows PowerShell offre uno strumento di creazione della shell, noto anche come "make-Kit", che viene usato per creare una shell della console non estendibile.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. Le shell create con questo nuovo strumento non possono essere estese in un secondo momento tramite uno snap-in di Windows PowerShell.Shells created with this new tool cannot be extended later through a Windows PowerShell snap-in.

SintassiSyntax

Di seguito è illustrata la sintassi usata per eseguire make-Shell dall'interno di un file.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 ]

ParametriParameters

Ecco una breve descrizione dei parametri di make-Shell.Here is a brief description of the parameters of Make-Shell.

Attenzione

I percorsi UNC degli assembly non sono supportati da make-Shell.UNC paths to assemblies are not supported by Make-Shell.

ParametroParameter DescrizioneDescription
-out n.exe-out n.exe Obbligatorio.Required. Nome della shell da produrre.The name of the shell to produce. Il percorso viene specificato come parte di questo parametro.The path is specified as part of this parameter.

Se non è specificato, la funzione Make-shell aggiungerà ". exe" a questo valore.Make-shell will append ".exe" to this value if it is not specified. Attenzione: Non creare un file di output con lo stesso nome del file con estensione dll a cui si fa riferimento.Caution: Do not create an output file with the same name as the referenced .dll file. Se si tenta di eseguire questa operazione, lo strumento make-shell crea un file con estensione cs con lo stesso nome, che sovrascriverà il file con estensione cs con il codice sorgente del 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.
-spazio dei nomi NS-namespace ns Obbligatorio.Required. Lo spazio dei nomi da usare per la classe System. Management. Automation. Runspaces. RunspaceConfiguration derivata che il kit genera e compila.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,..] Directory in cui vengono cercati gli assembly .NET, inclusi gli assembly di Windows PowerShell, gli assembly specificati dal reference parametro, gli assembly a cui fa riferimento indirettamente un altro assembly e gli assembly di sistema .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,...] Elenco delimitato da virgole degli assembly da includere nella shell.A comma-separated list of the assemblies to include in the shell. Questi assembly includono tutti gli assembly di cmdlet e provider, nonché gli assembly di risorse che devono essere caricati.These assemblies includes all cmdlet and provider assemblies, as well as resource assemblies that should be loaded. Se questo parametro non è specificato, viene generata una shell che contiene solo i cmdlet e i provider principali forniti da 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.

Gli assembly possono essere specificati utilizzando il percorso completo; in caso contrario, verranno cercati utilizzando il percorso specificato dal lib parametro.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.ps1,... XML]-formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] Elenco delimitato da virgole dei dati di formato da includere nella shell.A comma-separated list of format data to include in the shell. Se questo parametro non è specificato, viene generata una shell che contiene solo i dati di formato forniti da 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.ps1,... XML]-typedata td1.type.ps1xml[,td2.type.ps1xml,...] Elenco delimitato da virgole di dati di tipo da includere nella shell.A comma-separated list of type data to include in the shell. Se questo parametro non è specificato, viene generata una shell che contiene solo i dati di tipo forniti da 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,...] Nome di un file, fornito dallo sviluppatore della shell, che contiene il codice sorgente necessario per compilare la Shell.The name of a file, provided by the shell developer, that contains any source code needed to build the shell.

Il file di codice sorgente può contenere uno qualsiasi dei seguenti codici sorgente:The source code file can contain any of the following source code:

: Implementazione di gestione autorizzazioni che esegue l'override del gestore autorizzazioni predefinito.- The Authorization manager implementation that overrides the default authorization manager. Questa operazione può anche essere compilata in un assembly.(This could also be supplied compiled into an assembly.)
-Dichiarazioni dell'attributo informativo sull'assembly: ad esempio AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute e AssemblyTrademarkAttribute.- Assembly informational attribute declarations: such as the AssemblyCompanyAttribute, AssemblyCopyrightAttribute, AssemblyFileVersionAttribute, AssemblyInformationalVersionAttribute, AssemblyProductAttribute, and AssemblyTrademarkAttribute.
-AuthorizationManager authorizationManagerType-authorizationmanager authorizationManagerType Tipo che contiene l'implementazione di gestione autorizzazioni.The type that contains the authorization manager implementation. Questo può essere definito nel codice sorgente o compilato in un assembly (specificato dal reference parametro).This can be defined in source code, or compiled into an assembly (specified by the reference parameter). Se questo parametro non viene specificato, viene utilizzato il gestore sicurezza predefinito.If this parameter is not specified, the default security manager is used. Il valore deve essere il nome completo del tipo, inclusi gli spazi dei nomi.The value should be the full type name, including namespaces.
-win32icon i. ico-win32icon i.ico Icona del file exe per la Shell.The icon for the .exe file for the shell. Se non è specificato, la shell avrà l'icona che il compilatore c# include (se presente).If not specified, then the shell will have the icon that the c# compiler includes (if any).
-initscript p.ps1-initscript p.ps1 Profilo di avvio per la Shell.The startup profile for the shell. Il file è incluso "così com'è"; non viene eseguita alcuna verifica della validità da make-Shell.The file is included "as-is"; no validity checking is done by Make-Shell.
-builtinscript s1.ps1 [, s2.ps1,...]-builtinscript s1.ps1[,s2.ps1,...] Elenco di script predefiniti per la Shell.A list of built-in scripts for the shell. Questi script vengono individuati prima degli script nel percorso e il relativo contenuto non può essere modificato dopo la compilazione della shell.These scripts are discovered before scripts in the path, and their contents cannot be changed once the shell is built.

I file sono inclusi "così come sono"; non viene eseguita alcuna verifica della validità da make-Shell.The files are included "as-is"; no validity checking is done by Make-Shell.
-resourcefile.txt risorse-resource resourcefile.txt Il file con estensione txt contenente le risorse della guida e del banner per la Shell.The .txt file containing help and banner resources for the shell. La prima risorsa è denominata ShellHelp e contiene il testo visualizzato se la shell viene richiamata con il help parametro.The first resource is named ShellHelp, and contains the text displayed if the shell is invoked with the help parameter. La seconda risorsa è denominata ShellBanner e contiene il testo e le informazioni sul copyright visualizzate quando la shell viene avviata in modalità interattiva.The second resource is named ShellBanner, and it contains the text and copyright information displayed when the shell is launched in interactive mode.

Se questo parametro non viene fornito o se queste risorse non sono presenti, vengono usate una guida generica e un banner.If this parameter is not provided, or these resources are not present, then a generic help and banner are used.
-cscflags cscFlags-cscflags cscFlags Flag che devono essere passati al compilatore C# (csc.exe).Flags that should be passed to the C# compiler (csc.exe). Questi vengono passati senza modifiche.These are passed through unchanged. Se questo parametro include spazi, deve essere racchiuso tra virgolette doppie.If this parameter includes spaces, it should be surrounded in double-quotes.
-?-?

-help-help
Visualizza il messaggio di copyright e le opzioni della riga di comando di make-Shell.Displays the copyright message and Make-Shell command line options.
-verbose-verbose Visualizza informazioni dettagliate durante la creazione della shell.Displays detailed information while the shell is being created.

Vedere ancheSee Also

Manuale del programmatore di Windows PowerShellWindows PowerShell Programmer's Guide

Windows PowerShell SDKWindows PowerShell SDK