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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чёто никак не соображу, как релизовать обработку события ColumnClick,  
в соём скрипте..., чтобы сортировку по столбцам можно было осуществлять.
 
В MSDN есть примеры... на  C#, а как их адаптировать для PowerShell не понятно.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 11:56 26-05-2006 | Исправлено: Etalon, 11:58 26-05-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Набрёл на страничку какогото импортного мужика по имени Карл.
Он создаёт среду разработки для PowerShell
Желающие могут ознакомиться
 
Собственно сама страничка
http://www.mshanalyzer.com/
 
И пара презентаций в формате Флэш
http://karlprosser.edify.us/flashdemos/mshapart1.htm
http://karlprosser.edify.us/flashdemos/mshapart2.htm
 
Впечатляет

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 11:26 29-05-2006 | Исправлено: Etalon, 11:31 29-05-2006
Ygen



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А где-нибудь документацию по Monad найти можно на русском языке

Всего записей: 30 | Зарегистр. 31-01-2006 | Отправлено: 13:56 08-06-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В первом посте ссылки есть
 
Добавлено:
Ещё одна симпатичная IDE для PowerShell
http://powershell.com/
Правда в зачаточном состоянии

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 17:36 08-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Нашел проблему с невызовом из комм строки скриптов
Ситуация весьма проста, если скрипты находятся в папке (полный путь к которой включает пробелы, например C:\Program Files\Script) - то возникает глюк

Цитата:
 C:\DownLoad>ss
'C:\Program' is not recognized as a cmdlet, function, operable program, or script file.
At line:1 char:11
+ C:\Program  <<<< Files\Script\ss.ps1  

Вынес скриты в корень - все ОК
 
Добавлено:
Насчет IDE для PowerShell - весьма и весьма интересная и удобная штучка
Сенькаю за ссылку
 
PS. скрипт для определения параметров дисков (буква, тип, размер и свободное место)

Код:
#get-disksize.msh
Param ($Computer = "localhost")
$colDisks = get-wmiobject Win32_LogicalDisk -computer $computer  
" Device ID    Type               Size(m)     Free Space(m)"
ForEach ($Disk in $colDisks)
{
 $drivetype=$disk.drivetype
 Switch ($drivetype)
 {
     2 {$drivetype="FDD"}
     3 {$drivetype="HDD"}
     4 {$drivetype="NET"}
     5 {$drivetype="CD "}
 }
 
"    {0}         {1}       {2,15:n}  {3,15:n}" -f $Disk.DeviceID, $drivetype, $($disk.Size/1m), $($disk.freespace/1m)
}
""

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
а кавычки, в полном имени файла, не помагают?

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



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

Код:
C:\Program Files>powershell "C:\Program Files\Get-DiskSize.ps1"
'C:\Program' is not recognized as a cmdlet, function, operable program, or script file.
At line:1 char:11
+ C:\Program  <<<< Files\Get-DiskSize.ps1
 
C:\Script>Get-DiskSize.ps1
 Device ID    Type               Size(m)     Free Space(m)
    A:         FDD                  0,00             0,00
    C:         HDD             20 481,27        11 004,08

Как видишь нет
Про кавычки я хорошо знаю
 
PS. Ну Майкрософт дает - наступать на такие грабли

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Или мы чего нибудь не знаем, или к релизу исправят
 
Добавлено:

Цитата:
 
Sometimes, a script may not be in the path, and reside in a directory that has spaces in it.  In this case, you must use the call operator.  This operator, "&", instructs the shell to evaluate the string and execute as a command.
 
PS> &'C:\Program Files\Windows NT\myscript.ps1'
This is my script!
 
If you do not want to run the script in a new scope, you can execute the script as follows (first if myscript is in the path, and then if not):
 
PS> . myscript arg1 arg2
PS> . "C:\Program Files\Windows NT\myscript.ps1"
 
The "." tells the shell to execute the script in the current scope.  To run it from a cmd.exe prompt use this format:
 

 
Может это и есть лекарство, я в английском не очень силён
 
Добавлено:
Действительно помогло
 
 
PS Как полезно иногда в документацию смотреть.

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Хм...
С запуском скриптов из самого ПоверШелла - проблем нет
У меня проблема с запуском из cmd.exe

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Из cmd.exe вот такая конструкция работает

Код:
 
c:\>powershell -command "&'C:\Длинная папка\Сценарий.ps1'"
 

А из командной строки Windows (Пуск\Выполнить)
Вот такая

Код:
 
powershell &'C:\Длинная папка\Сценарий.ps1'
 


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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Вау... Спасибо - это самое то
 
ps. Как прописать автоматом такой запуск
ftype Microsoft.PowerShellScript.1="C:\Windows\PS\PowerShell.exe" "&'%1'"
 
Вместо "C:\Windows\PS\PowerShell.exe" - указывается свой путь к PowerShell

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerShellAnalyzer
http://www.karlprosser.com/ert33412/psanalyzer-11.zip
 
Не понятно кто у кого идею слизал
толи
http://www.karlprosser.com/coder/?page_id=14
у
http://powershell.com/
 
толи наооборот
 
Но PowerShellAnalyzer вроде как по качественней сделан

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Что-то мне этот PowerShellAnalyzer не восхитил, попытался в нем запусить скрипт, который я приводил выше (размеры и тип дисков) - дает ошибку на каждой строке у PowerShell-а - работает нормально и в коммм. строке тоже

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это альфа версия
 
К стати у него ещё и проблема с кирилицей есть
В прочем у PowerShellIDE она тоже есть
 
Посмотрим, что дальше из этих проектов вырастет
 
Сама идея интересна
 
Добавлено:
с твоим скриптом у меня обе оболочки на Param ругаются

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 16:53 14-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
PowerShellIDE - не ругается
 
 
Добавлено:
Кстати этот скрипт идет с PowerShellIDE

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не знаю, как у меня получилось в прошлый раз
Может запускал что-то другое и это другое повлияло на запуск последующих сценариев
 
Но обе оболочки ещё сырые
 
Попробовал с помощью  
 
get-disksize.ps1"RemoteComputer"
 
посмотреть какие диски есть на удалённых компьютерах
скрипт отобразил только локальные, для данного "RemoteComputer", диски, а сетевые не захотел.
 
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 08:51 16-06-2006 | Исправлено: Etalon, 11:17 16-06-2006
deixtra

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем привет!
начал осваивать PowerShell, а по скольку в програмировании я ни бум-бум заткнулся на такой простой задаче:
мне надо сделать выборку из файла - надо проверить каждую строку на наличие определённого слова - если это слово есть - то удалить всю строку.
 
В принципе я сделал всё через положительную проверку - у меня набор слов для проверки ограниченный, но хотелось бы всё красиво.  
С регулярными выражениями в PowerShell у меня как-то не срослось - или ошибки, или вообще не отрабатывает =[

Всего записей: 11 | Зарегистр. 14-12-2005 | Отправлено: 16:43 02-08-2006
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:58 02-08-2006
deixtra

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
$tt = Get-Content dhcp.csv
$tt | select-string {$_ -notcontains "*Non-Windows*"} | set-content 124.csv
 
это то что не работает - вообщем я просто не понимаю как загнать то условие которое мне нужно
 
а так я сделал  несколько таких:
$tt = Get-Content dhcp.csv
$tt | select-string "Windows" | set-content 124.csv
$tt | select-string "NT" | add-content 124.csv
$tt | select-string "bla-bla-bla" | add-content 124.csv

Всего записей: 11 | Зарегистр. 14-12-2005 | Отправлено: 17:04 02-08-2006
KapralBel



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

Код:
$tt = Get-Content dhcp.csv
$tt | select-string " " -Exclude "Non-Windows" | set-content 124.csv
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:20 02-08-2006 | Исправлено: KapralBel, 17:24 02-08-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