Widok listy (GroupBy)

W tym przykładzie pokazano, jak zaimplementować widok listy, który oddziela wiersze listy na grupy. W tym widoku listy są wyświetlane właściwości kontrolera System.Serviceprocess.Servicecontroller? Displayproperty = fullname obiekty zwracane przez Get-Service polecenia cmdlet. Aby uzyskać więcej informacji na temat składników widoku listy, zobacz Creating a List View (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ć format.ps1xml rozszerzenie do pliku w celu zidentyfikowania go jako pliku formatowego.

  3. Otwórz 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 Windows PowerShell formatowania. Należy użyć prependPath parametru podczas uruchamiania polecenia cmdlet i nie można załadować tego pliku formatowania jako modułu.

Demonstracje

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

  • Name element widoku.

  • ViewSelectedBy element, który definiuje, jakie obiekty są wyświetlane w widoku.

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

  • ListControl element, który definiuje, jakie właściwości są wyświetlane w widoku.

  • Element ListItem, który definiuje, co jest wyświetlane w wierszu widoku listy.

  • PropertyName element, 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. Gdy każda grupa jest uruchomiona, jest wyświetlana etykieta niestandardowa, która zawiera 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, Windows PowerShell wyświetla kontroler System.Serviceprocess.Servicecontroller? Displayproperty = obiekty fullname po załadowaniu tego pliku formatu. Puste wiersze dodane przed i po etykiecie grupy są automatycznie dodawane przez 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 plików formatujących

Pisanie pliku formatującego programu PowerShell