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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] запуск на удаленной машине bat-файл с помощью psexec (http://forum.oszone.net/showthread.php?t=182479)

ejik_off 09-08-2010 10:20 1469845

запуск на удаленной машине bat-файл с помощью psexec
 
Добрый день Всем!!!
Подскажите что делаю не так, задача такая : на нескольких машинах в сети нужно запустить скрипт от имени администратора. Знаю что с помощью PSEXEC это возможно, но не работает. Запускаю такую команду psexec @d:\comp.txt cmd "\\192.168.113.4\distr\batfiles\FixWSUSClient.bat" при этом выходит сообщение:
\\ ■c:
Couldn't access ■c:
т.е подключение идет по первой букве имени машины.
Вопрос почему берется первая буква, а не всё имя машины?

Petya V4sechkin 09-08-2010 10:38 1469860

ejik_off, опцию -c использовать не хотите?
Код:

psexec @d:\comp.txt -c FixWSUSClient.cmd
Файл comp.txt как выглядит?

ejik_off 09-08-2010 12:19 1469926

имя машины.домен, каждое имя на отдельной строке
вот так:
test-01.domain.ru
test-02.domain.ru
test-03.domain.ru

и т.д
о опции -с я не заметил описаний в хелпе
сейчас почитаю.

ejik_off 09-08-2010 13:38 1469980

Цитата:

Цитата Petya V4sechkin
psexec @d:\comp.txt -c FixWSUSClient.cmd »

тот же результат

Petya V4sechkin 09-08-2010 13:44 1469984

Цитата:

Цитата ejik_off
Couldn't access ■c:
т.е подключение идет по первой букве имени машины.

Не похоже на букву.
Кодировка comp.txt какая? Прикрепите файл к посту.

ejik_off 09-08-2010 15:00 1470039

Petya V4sechkin, а про кодировку я и не подумал. стоит unicode
http://forum.oszone.net/attachment.p...1&d=1281351596

Petya V4sechkin 09-08-2010 15:04 1470043

ejik_off, не надо Unicode, сделайте в обычной ANSI.

ejik_off 09-08-2010 15:15 1470052

этот файл создает powershell
Код:

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer("fs", $false)
$WSUScomps = $wsus.GetComputerTargets()
$WSUSCompNames = $WSUScomps | ForEach { $_.FullDomainName.ToUpper() }
$ADcomps = (new-object System.DirectoryServices.DirectorySearcher([ADSI]"LDAP://dc=npfcapital,dc=kz","(&(objectCategory=computer)(!userAccountControl:1.2.840.113556.1.4.803:=2))")).findAll()
$ADCompNames = $ADcomps | ForEach {$_.GetDirectoryEntry().dNSHostName.ToString().ToUpper()}
$NoWSUSCompNames = $ADCompNames | Where { $WSUSCompNames -notcontains $_ }
$NoWSUSCompNames | out-file d:\nowsclt.txt

как задать нужную кодировку?

Petya V4sechkin 09-08-2010 15:30 1470059

ejik_off, добавьте в конце опцию -encoding ASCII

ejik_off 10-08-2010 09:35 1470573

Petya V4sechkin, спасибо!!!

Seryoga204 16-09-2010 19:31 1497045

Подскажите пожалуйста пробую использовать данный скрипт:
Код:

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

Но при запуске вылетает сообщение

Служба "DCOM Server Process Launcher" запущена на обоих компьютерах.


Время: 14:27.

Время: 14:27.
© OSzone.net 2001-