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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посидел, поковырялся пару дней пару дней, и написал скрипт кот. подключается к доступным по сети компьютерам и узнаёт какой пользователь на каком компьютере зарегистрирован. А под=том выдаёт результат в виде красивой формы с красивой табличкой.
Исходный текст...
Короче я понял так, всё, что есть в .Сеть доступно для использования.
 
Спорить о достоинствах и недостатках не хочется, особено с никсоидами, но Мощный Шел действительно мощный.
 
 
ЗЫ Мне понравилось. Дяде Билли зачёт.

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Что-то у меня не пошло
Сохранил скрипт как p.psc1 - пускаю в ком строке - на долю секунды появляется окошко и пропадает
Пускаю из PSh - аналогично
Пускаю с ключом -NoExit выдает

Цитата:
Failed to load MSH console file "C:\Program Files\DU\q.psc1": Invalid at the top level of the document.
At line:1 char:1

 
Создаю скрипт с одной строкой
get-childitem
Аналогично
 
Не могу разобраться как пускаются скрипты

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

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

Цитата:
 
Execution Policy
The shell is, by default, a secure environment.  If history is any guide, then we know that executing scripts can be dangerous; therefore, by default, scripts are not enabled for execution.  Also, there is no extension mapping that will allow you to run a script by double-clicking on it from the Windows Explorer.  Before enabling scripts for execution, be sure to consider the risks associated with running scripts.  
 
To enable scripts for execution, enter the following command at the shell prompt:
 
PS> set-executionpolicy allsigned
 
This command sets the execution policy to require that all scripts must have a trusted signature to execute.  If you would like a less restrictive environment, you can enter the following command:
 
PS> set-executionpolicy remotesigned
 
This command indicates that the shell will execute scripts downloaded from the web only if they are signed by a trusted source.  The least secure execution policy may be set as follows:
 
PS> set-executionpolicy unrestricted
 
This command sets the execution policy to run scripts regardless of whether they have a digital signature.
Also, it is important to note that the current directory may not be part of the path.  If you wish to run a script that is not in a directory that is part of the path, you must first use "./" when you specify the script at the command prompt:  
PS> ./myscript
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 17:40 24-05-2006 | Исправлено: Etalon, 17:42 24-05-2006
KapralBel



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

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот здесь... есть много интересных примеров
использования PowerShell

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
1. По поводу твоего скрипта - обижается натыкаясь на Win98
2. Ресурс неплохой
3. Кстати скрипты должны иметь расширение .ps1, а автоматическая прописка в PathExt=.PSC1 - скорее всего конфигурационные файлы

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В Win98 и WinNT 4.0 WMI отсутствует потому и ругается, нужно дополнительно устанавливать
http://www.microsoft.com/downloads/details.aspx?FamilyID=afe41f46-e213-4cbf-9c5b-fbf236e0e875&DisplayLang=en  
Я, честно говоря, как-то не подумал, что на свете  ещё существуют Win9x.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 08:53 25-05-2006 | Исправлено: Etalon, 08:55 25-05-2006
Koni_Yoto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это ты зря.... 9х еще как живет... но ставить туда этот шелл считаю по меньшей мере нецелесообразным.  На этих машинах 9х стоит не от хорошей жизни...

Всего записей: 64 | Зарегистр. 07-10-2005 | Отправлено: 09:21 25-05-2006
Etalon

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

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



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

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я честно говоря не заморачивался этим.
Всегда запускаю
Правая кнопка мыши/Открыть с помщью/PowerShell.exe
 
Щас попробую привязать PowerShell.exe к расширению .ps1
 
Добавлено:
Да всё получилось
 
Правая кнопка мыши/Открыть с помщью/Выбрать программу.../PowerShell.exe
Поставить галочку "Использвать её для всех файлов этого типа"

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 11:50 25-05-2006 | Исправлено: Etalon, 12:23 25-05-2006
KapralBel



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

Цитата:
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\DU\ss.ps1
 
C:\DownLoad>assoc .ps1
.ps1=Microsoft.PowerShellScript.1
 
C:\DownLoad>ftype Microsoft.PowerShellScript.1
Microsoft.PowerShellScript.1="C:\Program Files\Windows PowerShell\v1.0\powershell.exe" "%1"

 
Добавлено:

Цитата:
Правая кнопка мыши/Открыть с помщью/Выбрать программу.../PowerShell.exe
Поставить галочку "Использвать её для всех файлов этого типа"

Ладно буду тренироваться

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:00 25-05-2006
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
   

Страницы: 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