Я хотел бы запустить командный файл на удаленном компьютере, который разделяет данную папку со всеми. Это должно сделать это
- без запроса прав администратора в любом случае
- без всплывающего диалогового окна UAC
- без перезагрузки
Пока у меня есть этот сценарий, но он продолжает давать мне диалог UAC.
SET __COMPAT_LAYER=WINXPSP3
if _%1_==_payload_ goto :payload
:getadmin
echo %~nx0: elevating self
set vbs=%temp%\getadmin.vbs
echo Dim WshShell, WshEnv >> "%vbs%"
echo Set WshShell = CreateObject^("WScript.Shell"^) >> "%vbs%"
echo Set WshEnv = WshShell.Environment^("PROCESS"^) >> "%vbs%"
echo WshEnv.Item^("__COMPAT_LAYER"^) = "WINXPSP3" >> "%vbs%"
echo Set UAC = CreateObject^("Shell.Application"^) >> "%vbs%"
echo UAC.ShellExecute "%~s0", "payload %~sdp0 %*", "", "runas", 1 >> "%vbs%"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
goto :eof
:payload
echo %~nx0: running payload with parameters:
echo %*
echo ---------------------------------------------------
cd /d %2
shift
shift
rem put your code here
rem e.g.: perl myscript.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
SET __COMPAT_LAYER=WINXPSP3
net share MyShare=c:\MyShare /grant:everyone,full
goto :eof