Войти

Показать полную графическую версию : Выполнить Скрипт от пользователя


yastreb_oren
18-04-2008, 21:09
Нашел скрипт который запускает указанную программу от указанного пользователя.
Вот он
=========================
On Error Resume Next
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
CompName = "CompName" 'имя компьютера
UserName = "Domain\User" 'имя пользователя
Pass = "Pass" 'пароль пользователя
Set objServices = objSWbemLocator.ConnectServer(CompName, "root\CIMV2", UserName, Pass, Null, Null, 0)
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
Set objClass = objServices.Get("Win32_Process")
Res = objClass.Create("notepad.exe", Null, Null, PID)
If Res <> 0 Then
WScript.Echo "Код ошибки: " & Res
End If
=========================

но проблема в том что он запускает скрипт на удаленном компьюторе. А как его переделать чтобы он запускал программу от указанного пользователя на локальной машине?

yastreb_oren
19-04-2008, 09:36
Нашел скрипт который запускает указанную программу от указанного пользователя.
Вот он
=========================
On Error Resume Next
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
CompName = "CompName" 'имя компьютера
UserName = "Domain\User" 'имя пользователя
Pass = "Pass" 'пароль пользователя
Set objServices = objSWbemLocator.ConnectServer(CompName, "root\CIMV2", UserName, Pass, Null, Null, 0)
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
Set objClass = objServices.Get("Win32_Process")
Res = objClass.Create("notepad.exe", Null, Null, PID)
If Res <> 0 Then
WScript.Echo "Код ошибки: " & Res
End If
=========================

но проблема в том что он запускает скрипт на удаленном компьюторе. А как его переделать чтобы он запускал программу от указанного пользователя на локальной машине?

Petya V4sechkin
19-04-2008, 09:42
yastreb_oren, вместо CompName - точка.
И в теме [решено] Запуск программ от имени другого пользователя (http://forum.oszone.net/thread-7817.html).

monkkey
19-04-2008, 09:59
runas

yastreb_oren
19-04-2008, 10:57
так чтоли
Res = objClass.Create("runas notepad.exe", Null, Null, PID)

ну потребуетcz ввода пароля

yastreb_oren
19-04-2008, 11:07
Лан поменял. Вот что получилось

On Error Resume Next
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
CompName = "." 'имя компьютера
UserName = "Administrator" 'имя пользователя
Pass = "microsoft" 'пароль пользователя
Set objServices = objSWbemLocator.ConnectServer(CompName, "root\CIMV2", UserName, Pass, Null, Null, 0)
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
Set objClass = objServices.Get("Win32_Process")
Res = objClass.Create("notepad.exe", Null, Null, PID)
If Res <> 0 Then
WScript.Echo "Код ошибки: " & Res
End If



А вот что выдает
-2147217308: Учетные данные пользователя не могут быть использованы для местных подключений

Petya V4sechkin
19-04-2008, 11:14
yastreb_oren, тогда читайте тему (http://forum.oszone.net/thread-7817.html).




© OSzone.net 2001-2012