Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   Выполнить Скрипт от пользователя (http://forum.oszone.net/showthread.php?t=105333)

yastreb_oren 18-04-2008 21:09 784301

Выполнить Скрипт от пользователя
 
Нашел скрипт который запускает указанную программу от указанного пользователя.
Вот он
=========================
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 784627

Выполнить Скрипт от пользователя
 
Нашел скрипт который запускает указанную программу от указанного пользователя.
Вот он
=========================
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 784630

yastreb_oren, вместо CompName - точка.
И в теме [решено] Запуск программ от имени другого пользователя.

monkkey 19-04-2008 09:59 784643

runas

yastreb_oren 19-04-2008 10:57 784668

так чтоли
Res = objClass.Create("runas notepad.exe", Null, Null, PID)

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

yastreb_oren 19-04-2008 11:07 784671

Лан поменял. Вот что получилось

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 784674

yastreb_oren, тогда читайте тему.


Время: 15:48.

Время: 15:48.
© OSzone.net 2001-