Назад | Перейти на главную страницу

Расширение группового объекта командлета PowerShell

У меня проблема с использованием командлета Group-Object. Возьмем, к примеру:

PS C:\Windows> get-service | Group-Object -Property status

        Count Name      Group           
        ----- ----      -----   
        114 Running   {AdobeARMservice, Appinfo, AppMgmt...}
        128 Stopped   {AdobeFlashPlayerUpdateSvc, AJRouter...}

Посмотрите, как в столбце группы отображаются не все имена, а их усечение с многоточием. Я знаю, что умею трубить Select-Object -expandproperty group затем, чтобы получить полный список, но при этом будет выводиться только столбец группы, а не столбцы count и name. Я знаю, что также могу заменить групповой объект и просто использовать format-table -wrap чтобы список был расширен другими столбцами, но мне нужен столбец счетчика, и он не будет отображаться без Group-Object.

Кто-нибудь знает, как это сделать, пока еще использует Group-Object? Это не только специально для get-service но другие вещи, которые я использую group-object с участием. Get-service это просто общий пример, к которому может относиться каждый. Спасибо.

Ну, как я сказал в своем комментарии, что вы делаете с выводом Group-Object полностью зависит от ситуации. Но вот пример того, как вы можете увидеть все имена служб.

Get-Service | Group-Object -Property Status |
Select-Object Count, Name, @{Name="Services";Expression={$_.Group.Name -join ','}} |
Format-Table -Wrap

Count Name    Services
----- ----    --------
  108 Running AdaptiveSleepService,AMD External Events Utility,AppIDSvc,Appinfo,Apple Mobile Device
              Service,AudioEndpointBuilder,Audiosrv,BDESVC,BFE,BITS,Bonjour Service,BrokerInfrastructure,CDPSvc,
  132 Stopped AJRouter,ALG,AppMgmt,AppReadiness,AppVClient,AppXSvc,AxInstSV,Browser,BthHFSrv,bthserv,ClipSVC,COMSysApp,
              CscService,DcpSvc,defragsvc,DeviceInstall,DevQueryBroker,diagnosticshub.standardcollector.service,DmEnrol,

У меня это работает.

$FormatEnumerationLimit=-1
Get-Service | Group-Object -Property Status | ft -Wrap