如何正确格式化 Group-object 的输出
How to format correctly the output from Group-object
我正在为我们的一位客户开发脚本,他们正在使用一些需要在终端服务器上关闭的会计应用程序,以便不时更新应用程序。
我想出了一个脚本,它会询问用户想要做什么,然后向他展示正确的输出,问题是,我的输出看起来像一个哈希表,但我不知道如何正确分组输出并按进程名称组织它
这是部分代码:
$apps = Get-Process CpaPlus,ShklMnNT,HonProj,hisMain,hazharon -IncludeUserName
$apps|Group-Object ProcessName
输出看起来像这样:
----- ---- -----
4 CpaPlus {@{UserName=bla\user; ProcessName=CpaPlus}, @{UserName=bla\user; ProcessName=CpaPlus}, @{UserName=bla\user; ProcessName=CpaP...
2 hisMain {@{UserName=bla\user; ProcessName=hisMain}, @{UserName=bla\user; ProcessName=hisMain}}
无效输出:
count processname user
---- ---------- ---
4 cpaplus michael
非常感谢您的帮助。
如果您想在 ProcessName
和 UserName
上分组,您必须告诉 Group-Object
两者都做:
$ProcessByUser = $apps |Group-Object ProcessName,UserName
然后我们可以使用 Select-Object
从现有对象之一获取相关属性:
$ProcessByUser |Select-Object Count,@{Name='ProcessName';Expression={$_.Groups[0].ProcessName}},@{Name='UserName';Expression={$_.Groups[0].UserName}}
我正在为我们的一位客户开发脚本,他们正在使用一些需要在终端服务器上关闭的会计应用程序,以便不时更新应用程序。
我想出了一个脚本,它会询问用户想要做什么,然后向他展示正确的输出,问题是,我的输出看起来像一个哈希表,但我不知道如何正确分组输出并按进程名称组织它
这是部分代码:
$apps = Get-Process CpaPlus,ShklMnNT,HonProj,hisMain,hazharon -IncludeUserName
$apps|Group-Object ProcessName
输出看起来像这样:
----- ---- -----
4 CpaPlus {@{UserName=bla\user; ProcessName=CpaPlus}, @{UserName=bla\user; ProcessName=CpaPlus}, @{UserName=bla\user; ProcessName=CpaP...
2 hisMain {@{UserName=bla\user; ProcessName=hisMain}, @{UserName=bla\user; ProcessName=hisMain}}
无效输出:
count processname user
---- ---------- ---
4 cpaplus michael
非常感谢您的帮助。
如果您想在 ProcessName
和 UserName
上分组,您必须告诉 Group-Object
两者都做:
$ProcessByUser = $apps |Group-Object ProcessName,UserName
然后我们可以使用 Select-Object
从现有对象之一获取相关属性:
$ProcessByUser |Select-Object Count,@{Name='ProcessName';Expression={$_.Groups[0].ProcessName}},@{Name='UserName';Expression={$_.Groups[0].UserName}}