Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/43: Рейтинг темы: голосов - 43, средняя оценка - 4.79
3 / 3 / 0
Регистрация: 03.01.2013
Сообщений: 38

Запуск программы на удалённом компьютере

16.03.2015, 10:19. Показов 8522. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет =)
У нас компьютерный класс и довольно часто возникает простая задача, нужно запустить на всех компьютерах одну и ту же программу, например открыть браузер на определённой странице. Для этой цели планировалось использовать PowerShell. Но столкнулись с неожиданной проблемой. После отправки команды start “имя программы”, программа запускается в какой-то скрытой сессии т.е. её интерфейса мы не видим, но в списке процессов её видно… Отсюда и возникает вопрос: «Как запустить программу, чтоб пользователь мог с ней работать?»

P.S.
Прошу сильно не пинать, только начал знакомиться с PowerShell.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2015, 10:19
Ответы с готовыми решениями:

Не выполняется запуск программы на удалённом компьютере командлетом Invoke-Command
Уважаемые форумчане. Прошу знающих Powershell помочь в такой проблеме. Есть доменная сеть с компьютерами. Все компьютеры находятся в одном...

Запуск скрипта с правами локального администратора на удалённом компьютере
Доброго времени суток. Запускаю скрипт на удаленном компьютере и передаю именя доменного пользователя - все работает $cred =...

Получить список принтеров, установленных на удалённом компьютере
Здравствуйте. Нужно вывести на экран список установленных принтеров с удалённого компьютера, используя PowerShell. На данной стадии у меня...

7
 Аватар для borne
88 / 88 / 37
Регистрация: 28.11.2012
Сообщений: 309
16.03.2015, 13:18
а если попробовать от имени залогиненого пользователя запустить?
1
3 / 3 / 0
Регистрация: 03.01.2013
Сообщений: 38
16.03.2015, 13:56  [ТС]
borne,
Происходит абсолютно тоже самое. В процессах есть, запущен от нужного пользователя, а интерфейса нет...
Такое ощущение, что для удалённого подключения в PS предусмотрена отдельная сессия.
1
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
17.03.2015, 15:32
MPermyakM, а чем psexe не подошел? в соседнем разделе: https://www.cyberforum.ru/cmd-bat/
он регулярно для похожих задач всплывает
1
3 / 3 / 0
Регистрация: 03.01.2013
Сообщений: 38
18.03.2015, 21:23  [ТС]
buggydancer,
Он долго отдаёт команды... Т.е. на каждый комп секунд по 10, а у нас их(компов) свыше 60. Тратить по 10 минут на одну команду, как-то совсем плохой вариант...
1
 Аватар для Патриарх
12 / 12 / 0
Регистрация: 23.03.2009
Сообщений: 107
19.03.2015, 03:28
В psexec есть параметр, позволяющий отправить команду без ожидания ответа (-d), таким образом отправка команды занимает долю секунды.
2
3 / 3 / 0
Регистрация: 03.01.2013
Сообщений: 38
20.03.2015, 11:30  [ТС]
Патриарх,
Параметр -d указывает, что не нужно ждать завершения приложения. Т.е. он потратил секунд 10-15 на подключение к компьютеру, выполнил команду и отключился не дожидаясь выполнения. Без параметра -d, он не отключится пока, процесс не умрёт... Потому psexec и не подходит...

Может есть еще какие-нибудь варианты?
1
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
20.03.2015, 15:09
Цитата Сообщение от MPermyakM Посмотреть сообщение
Может есть еще какие-нибудь варианты?
собственно это наверное скорее "гипотетический" вариант (давно лежит в архиве старая дока) времен появления в WSH функционала удаленного запуска, лично попользоваться ей (к сожалению) не довелось, попробуйте - может у вас получится:
Кликните здесь для просмотра всего текста
? WshController and WshRemote examples
Here's a 2 job (JScript/VBScript) .WSF WshController and WshRemote example in case anyone is
inclined. It will run "as is" on NT4 or Win2000 (WshController and WshRemote are *NOT*
installed/supported on Win9x for either the beta or the final release)...

See the comments inline...

<package>
<comment>

Use of WshRemote is NOT enabled by default.

HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings\Remote

DWORD 0 - disabled
DWORD 1 - enabled

This example is based on the example in the beta documentation
for the CreateScript method. There are JScript and VBScript
versions included as //Job:js //Job:vbs respectively.

The following errors in the example in documentation on which these
examples are based have been corrected:

- The progid is "WshController" (not "WScript.WshController")

- the WshRemote objects Status property is numeric (not string).

0 -> No Task
1 -> Running
2 -> Finished

Note that the Status property link from the WshRemote object topic
in the beta docs goes to the wrong topic - WshExec object's Status.
The Reference/Properties/Status (WshRemote) link goes to the correct
WshRemote.Status topic.

Remarks:

If a bad script path is passed to CreateScript, no error occurs
until Execute is called.

Bugs:

The WshRemote.Error.Line and Number properties both return an
unsigned long which is unsupported type in VBVScript. The
workaround is to wrap references to these in CLng() or Hex()
depending on what you need.

</comment>

<job id="js">
<script language="JScript">

var Controller = WScript.CreateObject("WshController");
var RemoteScript =
Controller.CreateScript("d:\\scripts\\my Script.js");
WScript.Echo("connecting");
WScript.ConnectObject(RemoteScript, "remote_");
WScript.Echo("executing");
RemoteScript.Execute();

while (RemoteScript.Status != 2) {
WScript.Sleep(100);
}

if (RemoteScript.Error.Number == 0) {
WScript.Echo("Completed Successfully!");
} else {
//=====
// Note: this will only be reached if you comment out or
// remove the WSCript.Quit in the remote_Error() handler.
//=====

WScript.Echo("Failed!");
}

function remote_Error()
{
var theError = RemoteScript.Error;
WScript.Echo("An Error Occurred at Line "
+ theError.Line + ", Char "
+ theError.Character
+ "\n"
+ theError.Number.toString(16)
+ "\n"
+ theError.Description
);
WScript.Quit(-1);
}


</script>

</job>
<job id="vbs">

<script language="VBScript">

set Controller = WScript.CreateObject("WshController")
set RemoteScript = _
Controller.CreateScript("d:\scripts\mySc ript.js")
WScript.Echo("connecting")
WScript.ConnectObject RemoteScript, "remote_"
WScript.Echo("executing")
RemoteScript.Execute

do while RemoteScript.Status <> 2
WScript.Sleep 100
loop

If CLng(RemoteScript.Error.Number) = 0 Then
WScript.Echo "Completed Successfully!"
Else
'=====
' Note: this will only be reached if you comment out or
' remove the WSCript.Quit in the remote_Error() handler.
'=====
WScript.Echo "Failed!"
End If

function remote_Error()

set theError = RemoteScript.Error
WScript.Echo "An Error Occurred at Line " _
& CLng(theError.Line) _
& ", Char " _
& theError.Character _
& vbcrlf _
& hex(theError.Number) _
& vbcrlf _
& theError.Description _
& ""
WScript.Quit -1

end function

</script>
</job>

</package>

Credit: Michael Harris - 3/18/2001.


Добавлено через 1 час 4 минуты
PS: на всякий случай линк на актуальную современную документацию по WSH:
https://msdn.microsoft.com/en-... 84%29.aspx
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.03.2015, 15:09
Помогаю со студенческими работами здесь

Запуск готового скрипта на удалённом сервере
Доброго времени суток. Я очередной новичок в PowerShell, поэтому прошу не судите строго. У меня есть сервер (Server) с Active Directory...

Запуск bat-файла на удалённом компьютере
Собственно, как с компьютера запустить .bat файл/какой-то скрипт на удалённой машине(что-то на подобие этого...

Вызов программы на удалённом компьютере
Мне нужно сделать так, чтобы вызвать программу на удалённом компьютере в сети, и чтобы она была видна на том компьютере, а не на моём. ...

Авторизация на удалённом компьютере
Подскажите как авторизоваться на удалённом компьютере. Задача такая, нужно скопировать файлы на удалённый компьютер, в расшареную папку. ...

Запуск программы на удаленном компьютере
Добрый вечер! есть два ПК в локальной сети. Подскажите мне как сделать так, чтобы я на своем компьютере ввел имя другого компьютера...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru