コンソール シェルを作成する方法

Windows PowerShellには、"make-kit" とも呼ばれる Make-Shell ツールが用意されています。このツールは、拡張可能ではないコンソール シェルを作成するために使用されます。 この新しいツールで作成されたシェルは、後で新しいスナップインWindows PowerShell拡張することはできません。

構文

次に、make-file 内からMake-Shellを実行するために使用される構文を示します。

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 ]

パラメーター

Make-Shell のパラメーターの簡単な説明を次に示します。

注意事項

アセンブリへの UNC パスは、Make-Shell ではサポートされていません。

パラメーター 説明
-out n.exe 必須。 生成するシェルの名前。 パスは、このパラメーターの一部として指定されます。

Make-shell では、指定されていない場合.exe値に ".exe" が追加されます。 注意: 参照先の出力ファイルと同じ名前の出力ファイル.dllしてください。 これを試した場合、Make-Shell ツールは同じ名前の .cs ファイルを作成します。これにより、コマンドレットのソース コードを含む .cs ファイルが上書きされます。
-namespace ns 必須。 make-kit が生成してコンパイルする 派生 System.Management.Automation.Runspaces.Runspaceconfiguration クラスに使用する名前空間。
-lib libdirectory1[,libdirectory2,..] Windows PowerShell アセンブリ、パラメーターで指定されたアセンブリ、別のアセンブリによって間接的に参照されるアセンブリ、.NET システム アセンブリなど、.NET アセンブリを検索するディレクトリ。 reference
-reference ca1.dll[,ca2.dll,...] シェルに含めるアセンブリのコンマ区切りのリスト。 これらのアセンブリには、すべてのコマンドレットアセンブリとプロバイダー アセンブリ、および読み込む必要があるリソース アセンブリが含まれています。 このパラメーターを指定しない場合は、シェルが生成され、このシェルには、Windows PowerShell によって提供されるコア コマンドレットとプロバイダーだけが含Windows PowerShell。

アセンブリは完全なパスを使用して指定できます。それ以外の場合は、 パラメーターで指定されたパスを使用して検索 lib されます。
-formatdata fd1.format.ps1xml[,fd2.format.ps1xml,...] シェルに含める書式データのコンマ区切りのリスト。 このパラメーターを指定しない場合、シェルが生成されます。このシェルには、指定された形式データWindows PowerShell。
-typedata td1.type.ps1xml[,td2.type.ps1xml,...] シェルに含めるデータ型のコンマ区切りのリスト。 このパラメーターを指定しない場合、シェルが生成されます。シェルには、指定された型データWindows PowerShell。
-source c1.cs [,c2.cs,...] シェルのビルドに必要なソース コードを含む、シェル開発者によって提供されるファイルの名前。

ソース コード ファイルには、次のソース コードを含めることができるようになりました。

- 既定の承認マネージャーをオーバーライドする承認マネージャーの実装。 (これは、アセンブリにコンパイルして指定できます)。
- アセンブリ情報属性宣言: AssemblyCompanyAttribute、AssemblyCopyrightAttribute、AssemblyFileVersionAttribute、AssemblyInformationalVersionAttribute、AssemblyProductAttribute、AssemblyMarkAttribute など。
-authorizationmanager authorizationManagerType 承認マネージャーの実装を含む型。 これは、ソース コードで定義するか、(パラメーターで指定された) アセンブリにコンパイル reference できます。 このパラメーターを指定しない場合は、既定のセキュリティ マネージャーが使用されます。 値は、名前空間を含む完全な型名である必要があります。
-win32icon i.ico シェルの .exeのアイコン。 指定しない場合、シェルには、c# コンパイラに含まれるアイコンが表示されます (該当する場合)。
-initscript p.ps1 シェルのスタートアップ プロファイル。 ファイルには "as-is" が含まれています。Make-Shell では、有効性チェックは行われ"ない。
-builtinscript s1.ps1[,s2.ps1,...] シェルの組み込みスクリプトの一覧。 これらのスクリプトはパス内のスクリプトの前に検出され、シェルのビルド後に内容を変更することはできません。

ファイルには "as-is" が含まれています。Make-Shell では、有効性チェックは行われ"ない。
-resource resourcefile.txt シェル.txtヘルプとバナー リソースを含むファイルです。 最初のリソースは ShellHelp という名前で、シェルが パラメーターを使用して呼び出された場合に表示されるテキストを格納 help します。 2 番目のリソースは ShellBanner という名前で、シェルが対話型モードで起動するときに表示されるテキストと著作権情報が含まれている。

このパラメーターが指定されていない場合、またはこれらのリソースが存在しない場合は、一般的なヘルプとバナーが使用されます。
-cscflags cscFlags C# コンパイラに渡す必要があるフラグ (csc.exe)。 これらは変更されずに渡されます。 このパラメーターにスペースが含まれている場合は、二重引用符で囲む必要があります。
-?

-help
著作権メッセージとコマンド ライン オプションMake-Shellを表示します。
-verbose シェルの作成中に詳細情報を表示します。

参照

Windows PowerShell プログラマー ガイド

Windows PowerShell SDK