Файл форматирования двоичного командлета

Я разрабатываю свой первый двоичный модуль PowerShell с использованием С#. Командлет является базовым, он будет подключаться к нашим рабочим серверам и отображать состояние служб.

Я хотел бы вывести свойство MachineName вместе со свойствами по умолчанию Status, Name и DisplayName. (Для этого я могу сделать 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 для извлечения моей DLL из папки bin\Debug Visual Studio.


person hsimah    schedule 07.09.2016    source источник


Ответы (1)


Вы можете использовать Update-FormatData и указать его на свой файл .format.ps1xml. Ссылка на TechNet

Обновление: в этом ответе он объясняет, как запустить скрипт, когда ваш модуль С# загружен.

person Francois    schedule 07.09.2016
comment
Легенда, это именно то, что мне нужно было знать. Спасибо. - person hsimah; 07.09.2016