2015-11-15 30 views
0

我編寫了此腳本以在另一臺計算機上遠程運行文件,但是我想以管理員用戶身份運行該文件,但要在用戶計算機上顯示該文件。如何以管理員身份遠程運行腳本,但要在用戶個人資料中顯示該腳本?以管理員身份運行bat文件但在用戶個人資料中顯示

@echo off 

color 0a 

SET /p ComputerName=ComputerName: 

SET /p UserName=Please enter the username: 

SET /p UserNamePassword=Please enter Username Password: 

tasklist /s \\%ComputerName% /u %UserName% /p %UserNamePassword% /FI "memusage gt 200000" 

SET /p Value=would you like to continue? Press 1 if yes.Press 2 to exit: 


IF %Value% EQU 1 pushd \\NetworkPath & copy batfile.bat \\%ComputerName%\c$\Users\%UserName%\Desktop & popd & psexec -i -s -d \\%ComputerName% -u %UserName% -p %UserNamePassword% "C:\Users\%UserName%\Desktop\batfile.bat" 
IF %Value% EQU 2 exit 

回答

0

您可以嘗試使用命令行nircmd elevate "the path of your program.bat"來啓動程序。或者你可以創建另一個.bat文件閱讀本:

nircmd elevate "the path of your program.bat" 
exit 

要打開主程序,只需打開第二個蝙蝠程序,它就會打開主程序作爲管理員,然後關閉自己出。

Nircmd不是默認的Windows命令。您需要點擊網頁底部的「下載NirCmd」按鈕,從this website下載它。選擇保存該.zip文件,完成後解壓縮。然後只將文件「nircmd.exe」複製到你的「system32」目錄或%systemroot%中。現在nircmd是您可以在「cmd.exe」中使用的命令的一部分。

我在電腦上安裝了nircmd,如果您無法相信它,這是一個非常有用的工具。上述鏈接還包含所有功能及其說明的列表。

0

你也可以用這個做一個批處理文件以管理員身份運行:

SET ADMIN=0 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if '%errorlevel%' NEQ '0' (GOTO askAdmin) 
SET ADMIN=1 
GOTO gotAdmin 
:askAdmin 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges... 
goto UACPrompt 
) else (goto gotAdmin) 
:UACPrompt 
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" 
"%temp%\getadmin.vbs" 
exit /B 
:gotAdmin 
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs") 

把,在你的批處理文件的頂部

相關問題