Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» PowerShell

Автор: Lexus_SaD
Дата сообщения: 05.09.2006 07:50
Есть задача:
1) запустить программу
2) если она через х секунд не отработала (зависла или задумалась) прибить ее
3) если отработала то хорошо
4) сделать соответствующую запись в файл (н.п. 1 - зависла, 2 - завершилась самостоятельно)

Сталкнулся неделю назад с повершелом, понравилось... начал читать документацию... но похоже не успею... Может кто подкинет идеи или скажет, что такое не возможно...

Примечание: процессов с таким именем может в системе висеть несколько, убивать надо тот который породили... Т.е. я не знаю как получить Id запущенного мной процесса
Автор: KapralBel
Дата сообщения: 05.09.2006 09:53
Lexus_SaD
Запускай задачу из-под nnCron
Там все это делается элементарно
Автор: Lexus_SaD
Дата сообщения: 05.09.2006 12:37
nnCron это конечно же хорошо, но вопрос в том, можно ли запустив процес в Монаде передать его идентификатор к-л переменной...

А по поводу nnCron и т.п. для решения моей задачи я на Дельфи программу за 2 часа наберу и отлажу... Вопрос принципиальный т.к. подобные задачи регулярно появляются, хотелось бы на данной опробовать новую технологию.
Автор: KapralBel
Дата сообщения: 05.09.2006 13:20
Lexus_SaD
Что-то не нашел аналога Start
Попробуй перед запуском скрипта по $ProcessBefore=Get-Process Calc получить все ID уже запущенных процессов, после запуска по $ProcessAfter=Get-Process Calc получить список все процессов (в обоих случаях ищу калькулятор) и сравнить
Автор: Etalon
Дата сообщения: 06.09.2006 17:04

Lexus_SaD
У меня такое впечатление, что код приведённый ниже как раз то что тебе надо



Код:
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")

Error = objWMIService.Create("notepad.exe", null, null, intProcessID)

If Error = 0 Then
Wscript.Echo "Notepad was started with a process ID of " _
& intProcessID & "."
Else
Wscript.Echo "Notepad could not be started due to error " & _
Error & "."
End If
Автор: Lexus_SaD
Дата сообщения: 07.09.2006 07:13
Кусок подходит,
переписать есть резон,
Может быть и не сложно, но как и с чего начать?..
Автор: Etalon
Дата сообщения: 07.09.2006 11:58
Пишем

Код:
$strComputer = "."
$objWMIService = Get-WMIobject -class "Win32_Process" -namespace "root\CIMV2" -computername $strComputer
Автор: KapralBel
Дата сообщения: 07.09.2006 12:17
Etalon
И Delete - нет
Автор: Etalon
Дата сообщения: 07.09.2006 12:33
Действительно, в списке
$objWMIService | gm -membertype method
Показывает
а пробуешь вызывать, говорит, что нету
Автор: KapralBel
Дата сообщения: 07.09.2006 12:40
Etalon
Пока сыроватый шелл
Но все же лучше стандартного CMD.Exe
Автор: Etalon
Дата сообщения: 07.09.2006 12:59
Но на самом деле выход есть
Потому, что при использовании PowerShell нам доступна вся мощь .Net
Пишем следующее

Код:
$Process = new-object System.Diagnostics.Process
$Process.startinfo.filename = "notepad.exe"
$Process.start()

$Process.Id

$Process.Kill()
Автор: Lexus_SaD
Дата сообщения: 07.09.2006 13:39
Спасибо! Это то, что надо... и так как мне надо...
Автор: Etalon
Дата сообщения: 07.09.2006 16:12
Да не за что

В общем то, вывод такой
Если, что то, не можем сделать встроенными средствами PowerShell
То юзаем объектную модель .Net

Справка по .Net находится здесь..
Автор: zeroandruxa
Дата сообщения: 10.09.2006 10:49
Нашел нормальную справку по PowerShell,
файлик PowerShellHelpSetup.exe прямой линк
_http://www.sapien.com/download.aspx?file=pshhelp
Автор: KapralBel
Дата сообщения: 26.09.2006 14:01
zeroandruxa
Посмотрел эту справку
Ничего особенного
то же самое можно извлечь из файлов, включенных в поставку
Автор: Etalon
Дата сообщения: 27.09.2006 08:08
Вышел PowerShell RC2
Забираем со странички
http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx

Прямая ссылка
http://download.microsoft.com/download/8/2/2/822f8720-0989-43d8-a612-68e297f7474c/WindowsXP-KB925228-x86-ENU.exe
Автор: KapralBel
Дата сообщения: 27.09.2006 11:05
Etalon
Что-то там было про другие языки, в т.ч. и про русский - но не смог разобраться
По ссылке качается каой-то левый файл
Но пока англ. не скачал, возможно русский ставиться на англ.
Автор: Etalon
Дата сообщения: 27.09.2006 11:43
По первой ссылке скачивается PowerShell
А по второй

Цитата:

Обновление для ОС Windows XP (KB916595)
Описание: Данное обновление предназначено для повышения надежности компьютеров с операционной системой Windows XP. Установите это обновление, чтобы предотвратить ситуацию, при которой может быть получено сообщение об ошибке "Stop 0xD" на компьютере под управлением ОС Windows XP с пакетом обновления 2 (SP2). Ошибка может возникать во время или после загрузки системы. После установки этого компонента может потребоваться перезагрузить компьютер.

Будет без него работать PowerShell RC2 или нет не знаю
У меня это обновление давно стоит

Добавлено:
Качай англицкий по прямой ссылке из 76 поста, а то задолбаешься ОС на честность проверять.

Если верить строчке

Цитата:

...
Windows PowerShell 1.0 MUI update package for Windows Server Service Pack 1 and for Windows XP Service Pack 2 (coming soon)
...

Муя должна скоро появиться
Автор: KapralBel
Дата сообщения: 27.09.2006 13:06
Etalon
По адресу http://support.microsoft.com/kb/923567/
Сказано


Цитата:
INTRODUCTION
This article describes the Windows PowerShell 1.0 localized update package for Microsoft Windows Server 2003 Service Pack 1 (SP1) and for Microsoft Windows XP Service Pack 2 (SP2). The Windows PowerShell 1.0 localized update package will be released by the end of calendar year 2006.

Note The Windows PowerShell 1.0 localized update package is localized in the following languages:

А когда переходишь на скачать - то полуаешь то что ты писал выше
Автор: Etalon
Дата сообщения: 27.09.2006 13:32
Я так понимаю надо забить на эту заплату
Автор: KapralBel
Дата сообщения: 27.09.2006 16:35
Трудно сказать возможно она нужна для MUI, который еще не вышел
Автор: Etalon
Дата сообщения: 27.09.2006 16:41
Может быть.
Выйдет MUI посмотрим.
Автор: KapralBel
Дата сообщения: 27.09.2006 16:46
Под RC2 - вышла новый IDE - см. шапку
Автор: KLASS
Дата сообщения: 28.09.2006 04:41
Локализованный пакет обновления Windows PowerShell 1.0 RC2 для ОС Windows XP
http://download.microsoft.com/download/5/4/1/541ab85e-9bfe-47b9-8917-83b1c07532ab/WindowsXP-KB923567-v3-x86-RUS.exe
Автор: Etalon
Дата сообщения: 28.09.2006 07:51
KapralBel
PowerShellAnalyzer тоже обновился
http://www.karlprosser.com/coder/downloads

Добавлено:
После небольшого шаманства с дистрибутивом WindowsXP-KB923567-v3-x86-RUS.exe
Поставил русскую версию PowerShell на английскую версию Windows XP SP2
Автор: KapralBel
Дата сообщения: 28.09.2006 11:32
Обновил шапку
Насчет версий для 2003 и ХР - русские и английские и IDE

Добавлено:
Etalon
Дай информацию как это тебе удалось - включу в шапку
Автор: Etalon
Дата сообщения: 28.09.2006 11:37
Посмотрел оболочки PowerShell
Всем хороши, но с русским языком плохо дружат
Что PSAnalyzer, что PowerShelIDE, одна беда

Добавлено:
Если распаковать дистрибутив в отдельную папочку
То в этой папочке можно увидеть папочку Update
Меняем содержимое папки Update в русском дистрибутиве
На содержимое папки Update из английского дистрибутива
Для установки запускаем файлик ...\Update\Update.exe

Диалог установки при этом будет английский, но нам это пофигу
Главное, что установленно всё будет русское

Данный метод работает и для любых других обновлений от Микрософт, поставляющихся в виде .exe файлов
Автор: KapralBel
Дата сообщения: 28.09.2006 12:56
Шапка обновлена
Автор: Etalon
Дата сообщения: 28.09.2006 13:42
Скачать... подшаманеную русскую версию
Автор: KapralBel
Дата сообщения: 28.09.2006 14:44
Etalon
Дистр. в шапке
Кстати - для ХР или 2003?

Страницы: 123456789101112131415161718192021222324

Предыдущая тема: Не понятная проблема с видеокартой.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.