現在マシンにログオンしているユーザーを確認したい。 PsLoggedOn \\Machine Name or IP
ですが、次のエラーが表示されます。
[コンピュータ名]のHKEY_USERSを開くときにエラーが発生しましたリソースログオンをクエリできません
なにか提案を?
PowerShellを使用します。
Get-WmiObject -Class win32_process -ComputerName remote-hostname |
Where-Object{ $_.Name -eq "Explorer.exe" } |
ForEach-Object{ ($_.GetOwner()).Domain + "\\" + ($_.GetOwner()).User; }
...交換する リモートホスト名 コンピュータ名で。
ここで正確に何が当てはまり、何が当てはまらないかはわかりませんが、 SysInternalsフォーラムのこの投稿 を確認してください。具体的には、以下の内容をコピーします。
ターゲットマシンで次のことを確認します
... [ここでは適用されない可能性があるため、私が切り出したものの長いリスト。
ターゲットマシンが上記の要件をすべて満たしたら、ローカルマシンから次のコマンドをターゲットマシンに実行してみます。
Net Use \\ target\Admin $/user:Administrator
dir \\ target\Admin $
Net Use \\ target\Admin $/delete
(切断するだけで、何も削除しません。)
(また、FAQやツールのMSダウンロードページへのリンクなどのリソースもあるので、Sysinternals Suiteに関する情報や質問については、一見の価値があります。)
ここで、これらの条件がすべて満たされ、実際に上記の3つのコマンドを実行できると仮定すると、PSLoggedonからのエラーの最も一般的な原因は...リモートレジストリサービスが無効になっていることです。これはデフォルトでは無効になっていますが、PSLoggedon(その他の機能)が機能するために必要です。ターゲットマシンのサービスを確認してください。このツールを機能させるには、サービスを有効にする必要があります。
編集:
PSExecを使用してリモートでサービスを開始するには、以下を使用します。
psexec \\[target] -u [username with admin rights] -p [password] net start [servicename]
したがって、PSExecを使用して必要なサービスをリモートで開始してから、実際にすべてのマシンに移動したり、GPOを展開したりすることなく、PSLoggedOnを使用できます。
アプリケーションを実行しているユーザーコンテキスト(既定のネットワーク資格情報)は、クエリを実行するコンピューター上でHKEY_USERS
ハイブを開いてそこから読み取るためのアクセス権が必要です。
「コマンドセッションを昇格する」には、実行可能ファイル(たとえば、cmd.exe
)を右クリックし、[管理者として実行]を選択します。これで、すべての実行可能ファイルがそのコマンドプロンプトから実行され、「昇格された特権」で実行されます
Windowsでトークンの昇格を管理する機能である ユーザーアカウント制御 についてTechNetで詳細を読む