Если вы пытаетесь выполнить этот сценарий от имени другого пользователя, но конечный пользователь его не видит, то объединить эти сценарии невозможно.
oShell.Run "RunAs /noprofile /user:domain\domainuser ""C:\Folder\BatchFileName.bat"""
WScript.Sleep 100
oShell.Sendkeys "yourpassword~"
SendKeys полагается на то, что консоль является активным окном, что делает его доступным для конечного пользователя, так что сценарий автоматизирует отправку ключей на интерфейс быстрее, чем пользователь может вмешиваться. Если пользователь уже печатает во время выполнения, ваш код содержит ошибки и выполнение будет прервано. Если вы запустите этот скрипт и удерживаете ЛЮБУЮ клавишу, вы не сможете работать должным образом. Другими словами, нет, вы не можете объединить их.
Если вы пытаетесь запустить сценарий в фоновом режиме под другой учетной записью пользователя, используйте службу планирования для выполнения «% SYSTEMROOT%\system32\cmd.exe /c cscript yourscript.vbs 2> & 1% SYSTEMROOT%\logs\myscript .log "Служба планирования будет запрашивать учетные данные, если вы хотите, чтобы она работала от имени конкретного пользователя.
Я не могу рекомендовать использовать /savecred в соответствии с синтаксисом runas, так как конечный пользователь будет иметь возможность запускать runas с этим пользователем в любое время. Самый безопасный и эффективный метод в вашем распоряжении - использование запланированных задач с подавленным выполнением пользовательского интерфейса.
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run "cmd.exe /c C:\Folder\BatchFileName.bat", 0
Set WinScriptHost = Nothing