2016-09-07 3 views
0

私は最初のPowerShellバイナリモジュールをC#で開発しています。コマンドレットは基本的なもので、運用サーバーに接続してサービスのステータスを一覧表示します。バイナリコマンドレットファイル

デフォルトのStatus,NameDisplayNameのプロパティとともにMachineNameプロパティを出力したいとします。 (私はこれを達成するためにGet-AppService | select MachineName,Status,Nameを行うことができます。)

は、私が書かれている .format.ps1xmlファイルを、使用について読んだことがある

<?xml version="1.0" encoding="utf-8" ?> 
<Configuration> 
    <ViewDefinitions> 
    <View> 
     <Name>service</Name> 
     <ViewSelectedBy> 
     <TypeName>System.ServiceProcess.ServiceController</TypeName> 
     </ViewSelectedBy> 
     <TableControl> 
     <TableHeaders> 
      <TableColumnHeader> 
      <Width>20</Width> 
      </TableColumnHeader> 
      <TableColumnHeader> 
      <Width>8</Width> 
      </TableColumnHeader> 
      <TableColumnHeader> 
      <Width>18</Width> 
      </TableColumnHeader> 
      <TableColumnHeader> 
      <Width>38</Width> 
      </TableColumnHeader> 
     </TableHeaders> 
     <TableRowEntries> 
      <TableRowEntry> 
      <TableColumnItems> 
       <TableColumnItem> 
       <PropertyName>MachineName</PropertyName> 
       </TableColumnItem> 
       <TableColumnItem> 
       <PropertyName>Status</PropertyName> 
       </TableColumnItem> 
       <TableColumnItem> 
       <PropertyName>Name</PropertyName> 
       </TableColumnItem> 
       <TableColumnItem> 
       <PropertyName>DisplayName</PropertyName> 
       </TableColumnItem> 
      </TableColumnItems> 
      </TableRowEntry> 
     </TableRowEntries> 
     </TableControl> 
    </View> 
    </ViewDefinitions> 
</Configuration> 

私はそれだけに適用されるように、これをどこに置くか分かりません私のコマンドレット。今私はImport-Moduleを使用して、Visual Studioのbin \ DebugフォルダからDLLを取得しています。

答えて

1

Update-FormatDataを使用して、.format.ps1xmlファイルを指定することができます。 Link to TechNet

更新:thisの回答では、彼はあなたのc#モジュールがロードされたときにスクリプトを実行する方法を説明します。

+0

ありがとうございますが、どうすればC#コードで呼び出すことができますか? – hsimah

+0

伝説、それはまさに私が知る必要があったものです。ありがとうございました。 – hsimah