我在使用cmdlet Group-Object遇到问题。 以此为例:
PS C:\Windows> get-service | Group-Object -Property status Count Name Group ----- ---- ----- 114 Running {AdobeARMservice, Appinfo, AppMgmt...} 128 Stopped {AdobeFlashPlayerUpdateSvc, AJRouter...}
查看组列如何不显示所有的名称,而是用省略号截断它们。 我知道我可以通过pipe道Select-Object -expandproperty group cmdlet来获得完整列表,但是只输出组列而不是count和name列。 我知道我也可以replace组对象,只是使用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