Скрипт для открытия командного файла на удаленном компьютере

В настоящее время я вручную открываю удаленный рабочий стол и запускаю файл.bat, дважды щелкнув по нему. Я нашел следующий код на этом сайте или, возможно, в другом месте, который должен позволить мне автоматизировать это. Этот код работает, когда я пытаюсь открыть Блокнот или Calc на удаленном компьютере, но он не запускает мой файл.bat. Я получаю "процесс не может быть запущен из-за ошибки 8". Я проверил, и ошибка 8 означает "неизвестный сбой". PSEXEC не вариант для меня. Любая помощь будет оценена. Благодарю.

Const ForWriting = 2
Const ForAppending = 8
Const NormalWindow = 5
Set fs = CreateObject("Scripting.FileSystemObject")
Dim CurrentDate
CurrentDate = Date
DateTime = CurrentDate & "," & CurrentTime

On Error Resume Next

'-----------------------------------------------------------

 remote_machine_name = "RemoteComputerName"

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer(remote_machine_name, "Root\DEFAULT")

If Err.Number <> 0 Then
WScript.Echo "Error " & Err.Number & ": " & Err.Description
Err.Clear
Else

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & remote_machine_name & "\root\cimv2:Win32_Process")

Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = NormalWindow

Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")

'-------This line works fine
errReturn = objProcess.Create("notepad.exe", NULL, objConfig, intProcessID)

'-------This line doesn't work
'errReturn = objProcess.Create("XX.bat", "c:\users\Name\desktop\", objConfig, intProcessID)

'-------Neither does this line
'errReturn = objProcess.Create("XX.bat", "c:\users\Name\desktop\", NULL, intProcessID)

If errReturn = 0 Then
    Wscript.Echo "Process started with a process ID of " & intProcessID & "."
Else
    Wscript.Echo "Process could not be started due to error " & errReturn & "."
End If
End If

WScript.Echo "Completed"

0 ответов

Другие вопросы по тегам