別のユーザーとしてWindowsにログインしてから、バッチスクリプトを使用してユーザーを管理者ユーザーに切り替える必要があります。RUNASWindowsユーティリティは私のために働きます。誰か助けてくれませんか?
2 に答える
RunAs
(使用していると思います)Windows 7では管理者アカウントがデフォルトで無効になっているため、機能しません。
昇格したコマンド プロンプトを (バッチ スクリプトからでも) 起動する最も簡単な方法は、昇格したショートカットを作成することです。
First, Right-Click on your desktop and Click "New -> Shortcut"
Next type CMD into the box labled "Type the location of the item:"
Click "Next -> Finish"
CMD.exe
デスクトップに新しいショートカットが作成されました。次...
Right Click "CMD.exe -> Properties -> Advanced..."
Check "Run as administrator"
Click "OK -> OK"
これで、管理者権限でC:\Windows\System32\cmd.exe
起動するショートカットができました。cmd.exe
ショートカットを好きな場所に移動できるようになりました。PATH 変数のどこかにあることを確認してください。呼び出すときにパスを指定する必要はありません。バッチ ファイル用の特別なディレクトリと、サード パーティの実行可能ファイル用の別のディレクトリがあります。バッチ ディレクトリに移動します。
現在、Windows によると、ショートカットの名前は cmd.exe ですが、「DOS」にドロップすると、実際にはという名前であることがわかりますcmd.exe.lnk
。cmd.Admin.lnk
それが何をするかを指定するためだけに、私の名前を に変更しました。
これで、いくつかの異なる方法で開始できます。
をクリックしてSTART Ball
、次のように入力しますcmd.exe.lnk
Return(またはcmd.admin.lnk
、選択した方)。
コマンド プロンプトを開き、次のように入力します。 行をバッチ ファイルに cmd.exe.lnk
Return
追加します。cmd.exe.lnk
次のようなパラメーターを渡すこともできます。
cmd.admin.lnk "/c echo. & echo %time% & echo. & pause.exe"
cmd.admin.lnk "/c cd /d d:\tmp & x.bat & echo. & echo %time% & echo. & pause.exe"
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe"
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe & exit 999"
最後の例では%errorlevel%
、999 の an が返されます。ただし、他の変数は返されません。
.exe
内部コマンドの後にどのように配置する必要があるかに注意してくださいpause
。この方法で多くの内部コマンドの実行を強制できることがわかりました。でも.com
動作します。
最後に、 とは異なりrunas
、このショートカットを使用すると 2 つのことが行われます。
最初に、管理者権限で実行する許可を求めるポップアップ ウィンドウが作成されます。これは、管理者アカウントの既定の無効化と同様に、悪意のあるプログラムやスクリプトの実行を防ぐためのセキュリティ対策です。
次に、コマンド プロンプトまたはバッチ ファイルから起動すると、別のコマンド インタープリター ウィンドウが開きます。で起動しない限りstart
、呼び出し元のウィンドウは新しいウィンドウが閉じるまで待機し、中断したところからバッチ ファイルまたはコマンド インタープリターの実行を続行します。
CPAU.exe は、この問題を解決するための優れた回避策でした