Antichrist
06-10-2006, 04:18
Есть домен под 2003 ,все клиенты XP ,есть необходимость удалённо запускать wsh сценарии в любой момент времени и желательно с правами администратора ,для примера такой сценарий :
Set objSysInfo = CreateObject("ADSystemInfo")
Set objComputer = GetObject _
("LDAP://" & objSysInfo.ComputerName)
Set CurrentUser = GetObject("LDAP://" & objSysInfo.UserName)
objComputer.Put "Description" , CurrentUser.DisplayName
objComputer.SetInfo
Пишет в описании компа в AD имя пользователя ,но сам сценарий не важен ,их очень много для различных целей.
Запуск из логон скрипта неподходит, вопервых потому как запускается только в момент самого логона ,во вторых с правами пользователя ,запуск по шедулеру тоже ,неудобно...
pcexec тоже не то ,процессы удалённо и так запускать умею через WMI ,не то.
Нашол такой код в репозитории микрософта используется так Script_name remote_comp
On Error Resume Next
If Wscript.Arguments.Count = 0 Then
Wscript.Echo "You must enter the computer name when starting this script."
Wscript.Quit
End If
strComputer = Wscript.Arguments.Item(0)
Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & ""
Set objExecObject = objShell.Exec(strCommand)
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadAll()
If Instr(strText, "Reply") > 0 Then
' =====================================================================
' Insert your code here
' =====================================================================
Set objComputer = GetObject("WinNT://" & strComputer & "")
objComputer.Filter = Array("User")
For Each objUser in objComputer
Wscript.Echo objUser.Name
Next
' =====================================================================
' End
' =====================================================================
Else
Wscript.Echo strComputer & " could not be reached."
End If
Loop
всё бы ничего ,только выполняется он всё равно на моей локальной машине ,даже ярлычок сценарием создать удалённо не получается ,после отработки сценария оказывается на моей локальной машине
Вопрос как осущевствить запуск сценария на удалённой машине с правами администратора ?
Set objSysInfo = CreateObject("ADSystemInfo")
Set objComputer = GetObject _
("LDAP://" & objSysInfo.ComputerName)
Set CurrentUser = GetObject("LDAP://" & objSysInfo.UserName)
objComputer.Put "Description" , CurrentUser.DisplayName
objComputer.SetInfo
Пишет в описании компа в AD имя пользователя ,но сам сценарий не важен ,их очень много для различных целей.
Запуск из логон скрипта неподходит, вопервых потому как запускается только в момент самого логона ,во вторых с правами пользователя ,запуск по шедулеру тоже ,неудобно...
pcexec тоже не то ,процессы удалённо и так запускать умею через WMI ,не то.
Нашол такой код в репозитории микрософта используется так Script_name remote_comp
On Error Resume Next
If Wscript.Arguments.Count = 0 Then
Wscript.Echo "You must enter the computer name when starting this script."
Wscript.Quit
End If
strComputer = Wscript.Arguments.Item(0)
Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & ""
Set objExecObject = objShell.Exec(strCommand)
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadAll()
If Instr(strText, "Reply") > 0 Then
' =====================================================================
' Insert your code here
' =====================================================================
Set objComputer = GetObject("WinNT://" & strComputer & "")
objComputer.Filter = Array("User")
For Each objUser in objComputer
Wscript.Echo objUser.Name
Next
' =====================================================================
' End
' =====================================================================
Else
Wscript.Echo strComputer & " could not be reached."
End If
Loop
всё бы ничего ,только выполняется он всё равно на моей локальной машине ,даже ярлычок сценарием создать удалённо не получается ,после отработки сценария оказывается на моей локальной машине
Вопрос как осущевствить запуск сценария на удалённой машине с правами администратора ?