У меня проблема с использованием командлета 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