私がやろうとしているのは、いくつかのプロセスを見て、これらのプロセスのユーザーのリストを取得することです。Aそして、次のコードは私にとってはうまくいきました。
get-wmiobject win32_process |
where{$_.name -like "*notepad*"}|sort {$_.CommandLine}|
select @{n="User";e={$_.getowner().user}},@{n="ProcessID";e={$_.ProcessID}},{$_.CommandLine} |ft -AutoSize |Out-String -Width 300 >> C:\ListUsers.txt
どういうわけか、途中で $_.CommandLine 文字列を分割し、分割された配列の一部を出力したかった (コードは間違っていますが、より良いアイデアについては次のコードを参照してください)。しかし、更新されたコードはテキスト ファイルに何も出力しません。select-object または fommat-object を間違って使用しているに違いないと思いますが、どうすれば修正できるかわかりません。
get-wmiobject win32_process |
where{$_.name -like "*notepad*"}|sort {$_.CommandLine}|
%{
$split = $_.CommandLine.split("\")
select @{n="User";e={$_.getowner().user}},@{n="ProcessID";e={$_.ProcessID}},@{n="Ihub";e=$split[3]},@{n="version";e=$split[3]},@{n="version";e=$split[3]} |
ft -AutoSize |Out-String -Width 300 >> C:\ListUsers.txt
}
誰でもアドバイスできますか?ありがとう!!