Windows 7およびXPでは、以前はスタートメニューから(Shift +アプリケーションを右クリックして)別のユーザー(ドメイン管理者アカウントなど)としてアプリケーションを実行することがオプションでした。
ただし、Windows 10ではそのオプションが見つかりません。回避策は、1)Windowsエクスプローラーでアプリケーションを見つける(Shift +右クリック)か、2)コマンドラインからrunas.exeを使用するかのいずれかです。
ただし、これらの回避策を使用するには、まず実行可能ファイルの名前を調べます。すべてのRSATツールの名前や実行可能ファイルの名前を覚えていないので、少し難しいです。
(例:「Active Directoryユーザーとコンピューター」はdsa.msc、「ルーティングとリモートアクセス」はrrasmgmt.msc)
これを行う簡単な方法はありますか?
regedit
と入力してEnterキーを押します。 UACから求められた場合は、[はい]をクリックして続行します。HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer
に移動します-このキーが見つからない場合は、右クリックして、Windowsの下にエクスプローラーキーを追加し、DWORD値ShowRunasDifferentuserinStart
を追加します。ShowRunasDifferentuserinStart
キーを右クリックして、[変更]をクリックします。1
を入力します再起動後、[別のユーザーとして実行]オプションが表示されるはずです。
私はいくつかのドメインに参加しているPCとドメインに参加していないPCでこれを実行しました。
ソース: windows10update.com
ショートカットを右クリックするだけです。
answerChris Dwyer で説明されているように、ショートカットを作成してWindowsのすべてのバージョンと同じ「runas」を使用することもできます。
- 右クリック>新規>ショートカット
- [ターゲット]に「runas/user:ComputerName\administrator program.exe」と入力します
.....
.....
StartIsBack ++ を使用して、機能を再度取得することもできます。
StartIsBack ++のようなプログラムを使用できない場合は、スタートメニューとタスクバーShow "Run as different user" command on Start
グループポリシーをEnabledに設定して、動作を有効にできます。
関連-Windows 8および8.1の[スタート]アプリケーションバーで[別のユーザーとして実行]を追加または削除する方法
この機能を有効にする別の(おそらく新しい)ソリューションがあり、他のソリューションよりもはるかにシンプルです。 Settings>Update&security>Developerに移動するだけで、 Windows Explorerの下に、適用できるもののリストが表示されます。
適用できる可能性のあるもののリストは、一見すると少し理解しにくいかもしれませんが、次のように機能すると思います。グレー表示されている場合、その特定のものがすでにそのようになっている(有効になっている)ことを意味します、およびApplyを押すと、グレー表示されておらず、現在選択されているものが有効になります。
Changeポリシーだけを有効にしてStartで別のユーザーとして実行を表示したい場合は、すべてのチェックを削除する必要があります。他の人とApplyを押します。
そして最後に、これが私が話している特定の設定のスクリーンショットです:
セカンダリログオンサービス(seclogon
)が実行されている限り、次のコードブロックにより、バッチファイルとVBScriptファイルを組み合わせてタスクを自動化できます。バッチファイルは、相対パス参照を使用して、現在のユーザーアカウントと選択したユーザーアカウントによる少なくとも読み取り権限を許可する任意のパスにファイルを配置できるようにします。両方のファイルが同じパス内にある必要があります。動詞ShellExecute
でrunasuser
を使用すると、Windowsはプロンプトを表示し、ユーザーがホストコンピューターで許可されているログオン方法から選択できるようにします。
このプロセスは、ユーザーの起動プロセスに追加できるため、コンピューターシステムにログインすると発生します。
バッチファイル: {RunAsUser}{CMD}.cmd
@Echo Off
If "%~1" NEQ "/CALLBACK" Goto :label_Process_Run_As_User
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Start the process once running as designated user
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cd C:\
start "" %~dp0cmd.lnk
Goto :EOF
:label_Process_Run_As_User
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below verifies if Secondary Login is available
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Query [Secondary Logon]
sc query seclogon 1> nul 2> nul || (
Goto :label_Missing_Secondary_Login
)
REM Check to see if [Secondary Logon] service is not disabled
sc qc seclogon | Find /i "START_TYPE" | Find /i "DISABLED" 1> nul 2> nul && (
Set flg.SecLog.Enabled=F
) || (
Set flg.SecLog.Enabled=T
)
REM Check to see if [Secondary Logon] service is Running
sc queryex seclogon | Find /i "STATE" | Find /i "RUNNING" 1> nul 2> nul && (
Set flg.SecLog.Running=T
) || (
Set flg.SecLog.Running=F
)
REM Determine if action should work
If /i "%flg.SecLog.Enabled%:%flg.SecLog.Running%" EQU "F:F" Goto :label_Secondary_Login_Unavailable
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below starts the RunAsUser process
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM System configuration was validateed and RunAsUser will commence
Set "str.SELF=%~0"
WSCRIPT /E:VBSCRIPT "%~dp0RunAsUser.txt"
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below provides written notices to user for error conditions
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:label_Secondary_Login_Unavailable
Echo.
Echo Unable to utilize the Secondary Logon system service because it is disabled.
Echo.
pause
Goto :EOF
:label_Missing_Secondary_Login
Echo.
Echo Unable to find the Secondary Logon system service
Echo.
pause
Goto :EOF
VBScriptファイル:RunAsUser.txt
'-------------------------------------------
'
' Launch Process RunAsUser
CreateObject("Shell.Application").ShellExecute CreateObject("WScript.Shell").Environment("PROCESS")("str.SELF"), "/CALLBACK", "", "runasuser", 1
'
' Display a message box to pause script
msgbox "Enter username or select Certificate for account" & vbCrLf & "On the windows dialog that will popup." & vbCrLf & vbCrLf & "Click OK once process opens", vbokonly
'
' Quit the script
On Error Resume Next
Window.Close ' HTA Must be Closed Through the Window Object
Err.Clear
Wscript.Quit ' VBS Must be Closed Through the Wscript Object
Err.Clear
On Error Goto 0
'
' ----------------------------------------------------------------------