Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell

Модерирует : KLASS, IFkO

KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

   

Uriu

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версии

PowerShell 1.0 -  На текущий момент совершенно неактуальная версия, интересная только для истории. /Прямые ссылки/
PowerShell 2.0 и WinRM 2.0 - Последняя версия, работающая на Windows XP и Windows 2003 (Ещё) /Прямые ссылки/
PowerShell 3.0 (Windows Management Framework 3.0)
PowerShell 4.0 (Windows Management Framework 4.0)
PowerShell 5.0 (Windows Management Framework 5.0)
PowerShell 5.1 (Windows Management Framework 5.1)
PowerShell Core 6.0 (не заменяет PowerShell 5.1)



Ассоциация

Что бы ассоциировать скрипты с PowerShell, аналогично выполнению .bat/.cmd-файлов
нужно в командной строке набрать следующую команду(ы)
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\system32\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\sysWOW64\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версия 6.0 дя 32-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files (86)\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*
Версия 6.0 дя 64-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*



вопрос о подписи скриптов

Что бы PowerShell не задавал вопрос о том, что скрипты не подписаны, ввести в нем команду
set-executionpolicy unrestricted
или в командной строке
powershell Set-ExecutionPolicy Unrestricted -force
(для этих 2-х действий требуются административные права)



Прочее


  • Если используете "белый список" в брандмауэре Windows, то для работы сценариев в сети необходимо создать 2 исходящих правила для svchost.exe и PowerShell.exe.
  • В отличие от батников кодировка скриптов на PowerShell должна быть 1251 (ANSI)




Расширение возможностей PowerShell
Функции
* Write-Color
* PowerTab --- Расширение функций клавиши Tab
Провайдеры
Готовые скрипты
* Ошибки и предупреждения в журнале событий по электронной почте (в4.0)
 


Работа со сценариями в Windows PowerShell
Раздел в MSDN
Краткие справочники по Windows PowerShell 3.0 (english)
Windows PowerShell Франк Кох (БЕРН)  Разработчик и пропагандист платформы. На русском языке в формате pdf и doc

Всего записей: 340 | Зарегистр. 25-11-2004 | Отправлено: 07:13 23-03-2006 | Исправлено: KapralBel, 09:31 29-01-2018
Lexus_SaD

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть задача:  
 1) запустить программу
 2) если она через х секунд не отработала (зависла или задумалась) прибить ее
 3) если отработала то хорошо
 4) сделать соответствующую запись в файл (н.п. 1 - зависла, 2 - завершилась самостоятельно)
 
Сталкнулся неделю назад с повершелом, понравилось... начал читать документацию... но похоже не успею... Может кто подкинет идеи или скажет, что такое не возможно...
 
Примечание: процессов с таким именем может в системе висеть несколько, убивать надо тот который породили... Т.е. я не знаю как получить Id запущенного мной процесса

Всего записей: 6 | Зарегистр. 20-01-2006 | Отправлено: 08:50 05-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lexus_SaD
Запускай задачу из-под nnCron
Там все это делается элементарно

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:53 05-09-2006
Lexus_SaD

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron это конечно же хорошо, но вопрос в том, можно ли запустив процес в Монаде передать его идентификатор к-л переменной...
 
А по поводу nnCron и т.п. для решения моей задачи я на Дельфи программу за 2 часа наберу и отлажу...  Вопрос принципиальный т.к. подобные задачи регулярно появляются, хотелось бы на данной опробовать новую технологию.

Всего записей: 6 | Зарегистр. 20-01-2006 | Отправлено: 13:37 05-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lexus_SaD
Что-то не нашел аналога Start
Попробуй перед запуском скрипта по $ProcessBefore=Get-Process Calc получить все ID уже запущенных процессов, после запуска по $ProcessAfter=Get-Process Calc получить список все процессов (в обоих случаях ищу калькулятор) и сравнить

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:20 05-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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
 

 
Переписать его на PowerShell не сложно
Хотя за чем?

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 18:04 06-09-2006
Lexus_SaD

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кусок подходит,
переписать есть резон,
Может быть и не сложно, но как и с чего начать?..

Всего записей: 6 | Зарегистр. 20-01-2006 | Отправлено: 08:13 07-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишем

Код:
 
$strComputer = "."
$objWMIService = Get-WMIobject -class "Win32_Process" -namespace "root\CIMV2" -computername $strComputer
 

и обламываемся.  
Нет у $objWMIService метода Create
 
Обидно, да
Delete есть, а Create нет

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 12:58 07-09-2006 | Исправлено: Etalon, 13:24 07-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
И Delete - нет

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:17 07-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Действительно, в списке  
$objWMIService | gm -membertype method
Показывает
а пробуешь вызывать, говорит, что нету

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 13:33 07-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Пока сыроватый шелл
Но все же лучше стандартного CMD.Exe

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:40 07-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Но на самом деле выход есть
Потому, что при использовании PowerShell нам доступна вся мощь .Net
Пишем следующее

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

Более подробную информацию смотрим в справке по  .Net

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 13:59 07-09-2006
Lexus_SaD

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Это то, что надо... и так как мне надо...

Всего записей: 6 | Зарегистр. 20-01-2006 | Отправлено: 14:39 07-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да не за что
 
В общем то, вывод такой
Если, что то,  не можем сделать встроенными средствами PowerShell
То юзаем объектную модель .Net
 
Справка по .Net находится здесь..

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 17:12 07-09-2006 | Исправлено: Etalon, 17:57 07-09-2006
zeroandruxa



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел нормальную справку по PowerShell,
файлик PowerShellHelpSetup.exe прямой линк
_http://www.sapien.com/download.aspx?file=pshhelp

Всего записей: 538 | Зарегистр. 02-11-2005 | Отправлено: 11:49 10-09-2006 | Исправлено: zeroandruxa, 11:49 10-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zeroandruxa
Посмотрел эту справку
Ничего особенного
то же самое можно извлечь из файлов, включенных в поставку

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:01 26-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышел 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

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 09:08 27-09-2006 | Исправлено: Etalon, 09:41 27-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Что-то там было про другие языки, в т.ч. и про русский - но не смог разобраться
По ссылке качается каой-то левый файл
Но пока англ. не скачал, возможно русский ставиться на англ.

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:05 27-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По первой ссылке скачивается 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)
...
 

Муя должна скоро появиться

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 12:43 27-09-2006 | Исправлено: Etalon, 12:59 27-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
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:

А когда переходишь на скачать - то полуаешь то что ты писал выше

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:06 27-09-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я так понимаю надо забить на эту заплату

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 14:32 27-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell
KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru