h_323 (h_323) wrote,
h_323
h_323

vbs (и т.п.) Run as Administrator

Для запуска скрипта запускается исполняемый файл интерпретатора (cscript, wscript, mshta.exe и т.п.). Для того, чтобы запустить скрипт под админом, нужно запустить под админом этот интерпретатор. Некий человек пробовал по всякому.
  1. нет пункта Run as administrator
  2. нет вкладки Compatibility в свойствах
  3. игнорирование blablabla.vbs.manifest
  4. запуск команды runas с ключом /trustlevel:unrestricted не работает
  5. запуск cmd под админом и запуск скрипта из-под него не работает

Вот содержимое reg-файла, который добавляет пункт 'Run as administrator' в контекстное меню

[HKEY_CLASSES_ROOT\vbsfile\shell\runas]

[HKEY_CLASSES_ROOT\vbsfile\shell\runas\command]
@="C:\\Windows\\system32\\wscript.exe \"%1\" %*"
"IsolatedCommand"="C:\\Windows\\system32\\wscript.exe \"%1\" %*"


то же делается с htafile и т.п.

Можно того же добиться без вмешательства в реестр. Скрипт, который запускает main.vbs под админом.

Set objShell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
strPath = FSO.GetParentFolderName (WScript.ScriptFullName)
If FSO.FileExists(strPath & "\MAIN.VBS") Then
     objShell.ShellExecute "wscript.exe", _
        Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1
Else
     MsgBox "Script file MAIN.VBS not found"
End If
Tags: registry, scripting, uac, windows
Subscribe
  • Post a new comment

    Error

    default userpic
  • 0 comments