二进制Cmdlet格式文件

时间:2016-09-07 05:00:59

标签: c# powershell cmdlet

我正在使用C#开发我的第一个PowerShell二进制模块。 cmdlet是基本的,它将连接到我们的生产服务器并列出服务的状态。

我想输出MachineName属性以及默认的StatusNameDisplayName属性。 (我可以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>

我不知道在哪里放这个,所以它只适用于我的cmdlet。现在我正在使用Import-Module从Visual Studio的bin \ Debug文件夹中提取我的DLL。

1 个答案:

答案 0 :(得分:1)

您可以使用Update-FormatData并将其指向.format.ps1xml文件。 Link to TechNet

更新:在this回答中,他解释了如何在加载c#模块时运行脚本。