$_.commandline プロパティに特定の単語が含まれる 3 台のターミナル サーバーでプロセスを見つけようとしています。私のドメイン管理者アカウントでは、問題なく動作しました。しかし、このスクリプトをドメイン ユーザーが使用できるようにしたいのですが、ドメイン ユーザーがこのスクリプトを実行するとエラーが発生します。
ドメイン ユーザーがドメイン管理者と同じようにこのスクリプトを実行できるようにするにはどうすればよいですか? 前もって感謝します!
エラー:
Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESS DENIED))
At N:\FindWhoIsUsing\FindWhoIsUsing.ps1:7 char:18
get-wmiobject <<<< win32_process -computername $server -EnableAllPrivileges|
CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Powershell コード:
Write-host "Who is using this profile?"
$profile = Read-host "specify profile name"
$servers = @("server-01","server-02","server-03")
Foreach($server in $servers)
{
Write-host $server
get-wmiobject win32_process -computername $server -EnableAllPrivileges|
where{$_.name -like "*Processname*" -and
$_.CommandLine -like "*$profile*"}|
select @{n="Server";e={$server}},@{n="User";e={$_.getowner().user}},@{n="ProcessID";e= {$_.ProcessID}},{$_.CommandLine}|fl
}
Write-host "DONE Searching!"