私はstackoverflowの新規ユーザーですので、よろしくお願いします。これが私のシーンリオです:
- Windows 7 Enterprise(x64)
- 複数のユーザーがログインおよびログアウトします
- 新しいユーザーのログイン時に前のユーザーをログオフする必要があります
現在のWindowsXP環境には、管理者以外のユーザーにログインして前のユーザーを起動するように求めるカスタムGina.dllがあります。これは、Windows 7の「高速ユーザー切り替え」で実現できますが、アプリケーションの複数のインスタンスが開いたままになり、問題が発生します。また、複数のユーザーが引き起こすパフォーマンスへの影響も懸念されます。私の調査では、クレデンシャルプロバイダーが必要になる可能性が高いことがわかりましたが、時間の制約があるため、クレデンシャルプロバイダーを時間内に構築することはできないと思います。
以前のユーザーをログオフするPowerShellスクリプトを(stackoverflowを使用して)正常に作成しました。次のようになります。
$pc = qwinsta | select-string "Disc" | select-string -notmatch "services"
$pc = $pc -replace "[^\d]",""
logoff $pc
これに伴う問題は、ユーザー名にusername1やuser2などの数字が含まれている場合、このスクリプトは数字を連結して失敗することです。「ディスク」セッションのセッションIDを選択してログオフするように、この小さなPowerShellスクリプトを編集するのを手伝ってもらえますか?
さらなるテスト結果:
- 「ディスク」ユーザーがいない場合は、現在ログインしているユーザーからログオフします。これは良くありません、これにも何か助けはありますか?