Udostępnij za pomocą


Widok listy (GroupBy)

W tym przykładzie pokazano, jak zaimplementować widok listy, który oddziela wiersze listy na grupy. Ten widok listy zawiera właściwości System.ServiceProcess.ServiceController obiektów zwróconych przez polecenie cmdlet get-service . Aby uzyskać więcej informacji na temat składników widoku listy, zobacz Tworzenie widoku listy.

Załaduj ten plik formatowania

  1. Skopiuj kod XML z sekcji Przykład tego tematu do pliku tekstowego.

  2. Zapisz plik tekstowy. Pamiętaj, aby dodać rozszerzenie format.ps1xml do pliku w celu zidentyfikowania go jako pliku formatowania.

  3. Otwórz program Windows PowerShell i uruchom następujące polecenie, aby załadować plik formatowania do bieżącej sesji: Update-FormatData -PrependPath PathToFormattingFile.

Ostrzeżenie

Ten plik formatowania definiuje wyświetlanie obiektu, który jest już zdefiniowany przez plik formatowania programu Windows PowerShell. Należy użyć parametru PrependPath podczas uruchamiania polecenia cmdlet i nie można załadować tego pliku formatowania jako modułu.

Demonstruje

Ten plik formatowania przedstawia następujące elementy XML:

  • Element Nazwa widoku.

  • Element ViewSelectedBy definiujący, jakie obiekty są wyświetlane przez widok.

  • Element GroupBy, który definiuje sposób wyświetlania nowej grupy obiektów.

  • Element ListControl, który definiuje, jaka właściwość jest wyświetlana przez widok.

  • Element ListItem definiujący, co jest wyświetlane w wierszu widoku listy.

  • Element PropertyName, który definiuje, która właściwość jest wyświetlana.

Przykład

Poniższy kod XML definiuje widok listy, który uruchamia nową grupę przy każdej zmianie wartości właściwości System.ServiceProcess.ServiceController.Status. Po uruchomieniu każdej grupy zostanie wyświetlona etykieta niestandardowa zawierająca nową wartość właściwości.

<Configuration>
  <ViewDefinitions>
    <View>
      <Name>System.ServiceProcess.ServiceController</Name>
      <ViewSelectedBy>
        <TypeName>System.ServiceProcess.ServiceController</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>Status</PropertyName>
        <Label>New Service Status</Label>
      </GroupBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>DisplayName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ServiceType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
  </ViewDefinitions>
</Configuration>

W poniższym przykładzie pokazano, jak program Windows PowerShell wyświetla obiekty System.ServiceProcess.ServiceController po załadowaniu tego pliku formatu. Puste wiersze dodane przed i po etykiecie grupy są automatycznie dodawane przez program Windows PowerShell.

Get-Service f*
   New Service Status: Stopped

Name        : Fax
DisplayName : Fax
ServiceType : Win32OwnProcess

   New Service Status: Running

Name        : FCSAM
DisplayName : Microsoft Antimalware Service
ServiceType : Win32OwnProcess

   New Service Status: Stopped

Name        : fdPHost
DisplayName : Function Discovery Provider Host
ServiceType : Win32ShareProcess

   New Service Status: Running

Name        : FDResPub
DisplayName : Function Discovery Resource Publication
ServiceType : Win32ShareProcess

Name        : FontCache
DisplayName : Windows Font Cache Service
ServiceType : Win32ShareProcess

   New Service Status: Stopped

Name        : FontCache3.0.0.0
DisplayName : Windows Presentation Foundation Font Cache 3.0.0.0
ServiceType : Win32OwnProcess

   New Service Status: Running

Name        : FSysAgent
DisplayName : Microsoft Forefront System Agent
ServiceType : Win32OwnProcess

Name        : FwcAgent
DisplayName : Firewall Client Agent
ServiceType : Win32OwnProcess

Zobacz też

przykłady formatowania plików

zapisywanie pliku formatowania programu PowerShell