runasによって起動されたコマンドプロンプトで元のユーザー名を取得する方法


2

runas /user:abc cmdコマンドプロンプトを起動するために使用します。ログイン後、vbsスクリプトを実行します。

ログインabcには特別なファイル/フォルダー権限があり、これがrunasを使用する主な理由です。そうしないと、権限がないためにvbsスクリプトが機能しません。

このコマンドプロンプトセッション内で、runasコマンドを開始したユーザー名を取得するにはどうすればよいですか?この情報をvbsスクリプト内に記録したいと思います。

例として、私のIDが「akong」であるとしましょう。runasを使用してコマンドプロンプトを「abc」として起動した後、何らかの方法で「akong」を出力できるようにしたいと考えています。

回答:


0

私の知る限り、この情報をスクリプトに送信する必要があります。

例:

runas / user:abc program.exe%username%

コマンドが処理される前にenvが拡張されると推測していますが、現時点ではそれを確認する方法がありません。


0

runasのスイッチとして/ noprofileを使用しない限り、ユーザーabcのプロファイルがロードされます。あなたは単にタイプすることができます

私は誰

コマンドラインで、domainname \ abcを返します

またはVBScriptから:

objNet = CreateObject( "WScript.NetWork")を設定します

strInfo = "ユーザー名は"&objNet.UserName&vbCRLF&_ "コンピューター名は"&objNet.ComputerName&vbCRLF&_ "ドメイン名は"&objNet.UserDomain

MsgBox strInfo


答えてくれてありがとう。例を追加して質問を明確にしました。実際には、runas ID「abc」ではなく、元のIDを出力したいのです。/ noprofileが使用されているかどうかに関係なく、Whoamiは 'abc'を出力します。
アンソニーコング

0

元のユーザーの名前を取得することは不可能だと考え始めています。コマンドラインで私が試した

Set

すべての「abc」ユーザーの詳細がリストされ、「akong」ユーザーはリストされません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.