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

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

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

Цитата:
возможно, последний пункт Вас и не касаетеся  

Вы неправильно истолковали. )
Я написав это искренне надеялся что Вы не из тех, кто пишет убого-замороченные сценарии, гордясь этим, а нормальный человек, который любит читать хорошие книжки, написанные простым человеческим языком...
И этим же правилом руководствуется при написании сценариев, которые позиционируются как обучающие, призванные увеличить количество почитателей PS на ру-боарде в частности (о чем здесь без устали рассказывают).
А Вы вона как ...  
                           
                                                Задумался ...  





Задумываются обычно молча, а пишут по теме. Личные сообщения в ПМ, пожалуйста

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 08:28 01-09-2017 | Исправлено: KLASS, 08:46 01-09-2017
YuS_2



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

Цитата:
неправильно истолковали.

А я не толмач, чтобы расшифровывать ваш эзопов язык...  
Если вам есть что сказать - говорите, а не надувайте щеки и многозначительно не закатывайте глаза (не в прямом смысле конечно, но тем не менее). Уж очень неприятно общение в подобной манере и не ожидайте, что в ответ получите, что-то кроме серпентария.
Кроме того, нигде не заявлял, что моя миссия - распространение и обучение всех и вся. Почему вы решили, что в том, что я делаю есть какой-то особо глубокий смысл и скрытый между строк текст - я не знаю.
Но книжки читать люблю, если что, особенно если они написаны интересно, а не менторским тоном с приемами вбивания кувалдой в голову гвоздей знаний.
И кроме того, предпочитаю не оценивать чужой труд и не развешивать ярлыки (типа: вот это овно-код, а это овно-фирма, пишущая суксь и опять же овно с кучей ошибок), а использовать то, что представляет интерес, в собственном развитии или в написании кода, по мере необходимости. Если же интереса нет или существует в софте куча ошибок, то просто не буду это использовать, без "поливания помоями", кого бы то ни было.




Приостанавливаемся, пожалуйста... иначе идем в ПМ

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:54 01-09-2017 | Исправлено: KLASS, 08:58 01-09-2017
Garrich

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as
Как по мне, для кого оба предложенных варианта китайская грамота, пока вы сливаете YuS_2. Достаточно было сказать что для большинства специалистов решение слишком неочевидно (так шашечки или ехать?). Я же вынужден обратиться к "устаревшему" Коху, он не предлагает установить сервер.

Всего записей: 241 | Зарегистр. 01-07-2016 | Отправлено: 10:39 01-09-2017 | Исправлено: Garrich, 10:41 01-09-2017
LevT



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

Цитата:
Но книжки читать люблю, если что, особенно если они написаны интересно, а не менторским тоном с приемами вбивания кувалдой в голову гвоздей знаний.  

 
Ну дык "in a Month of Launches", 3-e издание (у нас тут в варезнике было)
Только в маленькой книжке нехорошими приёмами вколачивается, что это всего лишь первая ступень. Вторая вот-вот выйдёт. Заодно авторы извиняются за похабное попсовое Scripting, вставленное маркетологами в название переиздания вместо подобающего Toolmaking  
 
А всего ступеней четыре, согласно нeхорошей книжечке.  
Издательским маркетологам оставшиеся ступени вовсе недоступны - потому авторам приходится прибегать к самиздату на leanpub.com

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 11:23 01-09-2017 | Исправлено: LevT, 11:29 01-09-2017
2as

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

Цитата:
Как по мне, для кого оба предложенных варианта китайская грамота

Если Вам интересно, то могу рассказать относительно своего кода по пунктам.
На самом деле там ничего сложного нет, особенно, если есть опыт написания любых сценариев.
Bat-файлов в том числе.
Командлеты - это те же команды из обычной командной строки.
Принципиальное отличие (и об этом уже сказал LevT), то что результатом их выполнения являются объекты - те самые из объектно-ориентированного программирования. Свойства и методы.
Это первое что нужно знать и убрать психологический барьер (боязнь использовать)
Считайте на первом этапе PowerShell аналогом cmd, а командлеты - командами.
 
Запускаете PowerShell_ISE.exe, физически он лежит здесь:
 x:\Windows\System32\WindowsPowerShell\v1.0\
Белое поле сверху - редактор, синее поле снизу - командная строка.
Бело поле пока оставим в покое,  
в синем набираем:
PS> help
  Читаем ... Понимаем, что командлет состоит из двух слов, например: Get-Help (Получить-Помощь).
второй командой советую ввести  
PS> alias  
получаем список псевдонимов - т.е имена командлетов и их краткое имя (в которых вы узнаете и команды из bat-файлов).
 
Очищаем поле консоли (синее) - вверху под меню иконка "Очистить область консоли"
Пока всё.
 
Добавлено:
Windows 7 или старше из коробки,
Под ХР нужно скачивать от мелкомягких в.2 и .NET Framework 3.5 по-моему.

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 14:21 01-09-2017 | Исправлено: 2as, 14:46 01-09-2017
LevT



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

Цитата:
Командлеты - это те же команды из обычной командной строки.  
Принципиальное отличие (и об этом уже сказал LevT, то что результатом их выполнения являются объекты - те самые из объектно-ориентированного программирования. Свойства и методы.)  
 
 

 
Неверно!
Код "взрослого" PS состоит не из командлетов, а из труб
(труба - последовательная комбинация командлетов)
 
Чтобы командлеты сочетались, вход следующего должен совпадать с output-потоком предыдущего.
Самый важный "подковёрный матан" это правила сочетания командлетов в трубе.
 
Матан этот результат целенаправленных инженерных усилий, для предоставления "работягам" языка наиболее естественного управления "реальным миром", типа
 

по заданнному фильтру (ХОЧУ чтобы его перевели с моего человеческого)  
            отобрать папки,  
                        ХОЧУ сдвинуть вверх их содержимое  

 
или
 

есть таблица адресов удаленных и локальных файлов
            ХОЧУ выбрать те строки, где удалённый файл новее локального
                       и скормить отобранное командлету Start-BitsTransfer
           
 
(те непродвинутые работяги, которые не могут таким образом описать алгоритм желаемого воздействия на предметную область - уже идут конкурировать с роботами)
 
 
Garrich
 
Юзерам которые чураются серверов, но хотят перестать быть мышевозами и начать настраивать свою десятку пошиком - также следует освоить хотя бы это.
Дальше... можно учиться самостоятельно реализовывать хотелки, а можно просить помощи.  
Просьба в такой форме автоматически становится вменяемой и уважительной.
 
"Невменяемая" просьба это такая которая сбивает с толку инженеров.
Cоблазняя их мыслью вручную реализовать то, с чем справляется реализованная в powershell труба.

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 14:55 01-09-2017 | Исправлено: LevT, 15:34 01-09-2017
YuS_2



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

Цитата:
пока вы сливаете YuS_2

Надеюсь, что всё выше написанное не выглядело измерением сантиметров, у кого длиннее... во всяком случае, с моей стороны таких поползновений не подразумевалось вовсе. Думаю, что взрослые и вменяемые люди, вряд ли станут заниматься подобным.
Справедливости ради, стоит уточнить, что те две строчки, всего лишь включают стандартные порты 80, 443, для работы с "пожарными стенами"... и естественно, полностью весь код они не подменят, тем более, что 2as пояснил, что тот кусок кода является частью большего, а там может быть много нюансов. В общем, там помимо настроек портов, производится настройка включения службы WinRM с некоторыми проверками и ветвлением действий, т.е. если кратко, то производится настройка компьютера для удаленного доступа, без задействования интерфейса групповых политик.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:03 01-09-2017
LevT



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

Цитата:
2as пояснил, что тот кусок кода является частью большего, а там может быть много нюансов. В общем, там помимо настроек портов, производится настройка включения службы WinRM с некоторыми проверками и ветвлением действий,  

 
И всё слито в недоступную новичку кашу, в которой разобраться может (если захочет) лишь такой же "программер-самоделкин".
Кашу офтопичную - да-да - потому что являет собой не PS, а "программирование для чайников"
этих ваших книжек не читал, но круто умею скриптовать: знаю переменные, циклы и даже об объектах наслышан"
 
По крайней мере powershell мастерства тут столько же, сколько в забивании гвоздей микроскопом.

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 15:51 01-09-2017 | Исправлено: LevT, 16:20 01-09-2017
cchameleone



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Windows PowerShell 2.0 Deprecation (намечено, как и выпуск RS3, на 17 октября 2017...)
Цитата:
We recently announced that Windows PowerShell 2.0 is being deprecated in the Windows 10 Fall Creators Update...
. . . .
...In summary, the deprecation of Windows PowerShell 2.0 doesn’t mean that it’s being removed yet, but you should work to move off of it, as we may decide to remove it in a future release. When we do have more concrete plans to remove it, we’ll give fair warning before taking it out. In the meantime, do your best to migrate away from it, using the above as a guide.


----------
«Неужели?» | Наследник
"Тестирование" это филиал "Помощи" ©

Всего записей: 2279 | Зарегистр. 16-10-2015 | Отправлено: 16:43 01-09-2017 | Исправлено: cchameleone, 16:49 01-09-2017
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
YuS_2
cchameleone
Ну, пожал-ста не запутывайте и не запугивайте начинающих!
Хотя такая активность не может не радовать.
...
предлагаю немного выдержать паузу - может даже элементарное никому не интересно ...

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 17:22 01-09-2017
YuS_2



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

Цитата:
всё слито в недоступную новичку кашу


Цитата:
По крайней мере powershell мастерства

Так, а кто сказал, что тут проходит турнир на звание лучшего мастера powershell?  
Или что, здесь ничего, кроме оптимизированных и отлаженных скриптов, публиковать нельзя? Это точно записано в правилах топика? Вот смотрю и ничего подобного не вижу. Так зачем опять развешиваешь ярлыки и раздаешь оценки? Ты не преподаватель, мы не ученики у тебя...
Хочется поправить - поправляй или даже предлагай свое, более красивое и оптимизированное. Вот это будет помощь и поддержка. А то, что иногда делаешь ты, своими заявлениями, ну никак пропагандированием назвать нельзя, т.к. кроме аллергии ничего вызвать не может и интереса к powershell, тем более.
И да, лично я понимаю, что тебе интересно читать книги на языке оригинала, если позволяет знание, но не все обладают такими знаниями, возможностями или хотя бы желанием это делать. Здесь русскоязычный форум и было бы неплохо приводить ссылки на литературу переведенную или даже созданную на языке, на котором принято разговаривать, по крайней мере здесь.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:03 01-09-2017 | Исправлено: YuS_2, 18:05 01-09-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
 
Предлагаю учиться лучшим практикам. Щас будет пример.
 
Я наконец добрался до темы Proxy Functions
Любой известый пошику командлет может быть перекрыт своим собственным кодом
 

Цитата:
Proxy Functions
In PowerShell, a proxy function is a specific kind of wrapper function. That is, it “wraps” around an
existing command, usually with the intent of either:
 
• Removing functionality
• Hardcoding functionality and removing access to it
• Adding functionality
 
In some cases, a proxy command is meant to “replace” an existing command. This is done by giving
the proxy the same name as the command it wraps; since the proxy gets loaded into the shell last,
it’s the one that actually gets run when you run the command name.
There’s a way, using a fully-qualified command name, to regain access to the wrapped
command, so proxy functions shouldn’t be seen as security mechanism. They’re more of a
functional convenience.
 

 
Делается это так

Код:
 
$cmd = New-Object System.Management.Automation.CommandMetaData (Get-Command ConvertTo-HTML)
[System.Management.Automation.ProxyCommand]::Create($cmd) | Out-File ConvertToHTMLProxy.ps1
 

 
На выходе генерится скрипт-заглушка:
1) полностью повторяющая интерфейс командлета и
2) готовая к любым хукам (модификации кода)
 
Попробуйте это со своими любимыми командлетами!
Массу удовольствия гарантирую
 
Предлагаю сообща разобраться с тем, что из этого можно извлечь.
Я менторскую позицию занять никоим образом не могу, поскольку вижу это так же как и вы впервые.
 
 
Добавлено:
 

Цитата:
не все обладают такими знаниями, возможностями или хотя бы желанием это делать. Здесь русскоязычный форум и было бы неплохо приводить ссылки на литературу переведенную или даже созданную на языке, на котором принято разговаривать,  

 
даже на языке оригинала полно мусора, вместо правильных текстов.
 
Но вот без знания хотя бы "компьютерного" английского решительно невозможно понять, какую пользу можно извлечь из прокси-функций.
 
Добавлено:
 
И вообще: не стоит культивировать второсортность русского сообщества.
Я вот может и хотел бы правильно перевести лучшие книжки - но увы понимаю, что не в этой жизни..

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 19:21 01-09-2017 | Исправлено: LevT, 20:16 01-09-2017
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Не вижу смысла в прокси функциях. Только запутывает.
Кто мешает создать свою с другим названием и внутри вызывать нужную.
Всё равно свою функцию (что прокси, что нет) надо таскать с собой.

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 23:21 01-09-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PhoenixUA
 
Во времена былинные это называлось хуком
В ПО вставлялись специальные точки расширения, чтобы продвинутый юзероадмин мог изменить стандартное поведение (ну, типа как в ПО с плагинами)
 
В пошике, оказывается, всё тотально хукуемо )
Унаследовав стандартные и интерфейс, и реализацию, изменить можно буквально всё. Выразив свои хотелки на обычном PS.  
 
Самое любопытное для меня сейчас  это служебный код, который вытаскивается наружу при создании прокси-скрипта.  
Это то, что работает в каждом командлете, независимо от нашего осознания.
Код этот предназначен для модификации юзероадмином - но смысл его мне в целом мне к сожалению покамест непонятен.  
Думаю, что здесь ключ к "тайне трубы".
 
 
 
Добавлено:
Представь, что ты не сам для себя скриптуешь, а создаёшь PS консоль для упрямого и не очень умного эникея.
Который привык шаловливыми руками запускать известные командлеты и лезть туда, куда ты бы его не пускал.
 
Ты можешь модифицировать стандартное поведение так, что чувак станет безвредным.  
И, возможно, даже ничего не заметит.
А то и начнёт приносить пользу: например, ты узнаешь из письма о том, что чувака что-то толкнуло сейчас туда полезть и попытаться сделать вот это вот.
 
 
Добавлено:
 
Пошик для "продвинутых самоделкиных" избыточен, определённо это так.
Потому что это гораздо более богатый инструмент, предназначенный для невиданно эффективного взаимодействия "инженеров" и "работяг".
(или более близкие нам примеры: форумных лекарей и пользователей их лекарств;
скриптописателей и пользователей скриптов).

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 00:03 02-09-2017 | Исправлено: LevT, 00:57 02-09-2017
2as

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

Цитата:
это называлось хуком

 
Если вдруг потребовалось наследование, не логичнее использовать инструмент, в котором это заложено изначально, а именно ООП (объектно-ориентированное программирование).
Где помимо наследования, есть еще:
 - инкапсуляция
 - полиморфизм
...
Следом возникает резонный вопрос:
PS инструмент для кого/чего? Программирования? Администрирования?
Если админа, то не вижу задач где наследование может понадобиться.
Если программёра, то зачем ему инструмент, изначально заточенный для админа, на что недвусмысленно указывают алиасы...
и где, допустим, использование того же .NET происходит достаточно своеобразно, скажем так.
...
Далее...  
Вот объясните мне (возможно пока не можете - я подожду)  
 Есть ли возможность в PS строить что-нибудь подобное классам (из ООП) - применительно к командлетам с отражением в репозитарии, например?
Естественно подразумевается, что такое классы, почему появились, как и зачем используются Вы прекрасно знаете.  
С этой позиции и хотелось бы узнать причину и необходимость наследования, "хука" в Вашей терминалогии в PS.
Зачем появились, что упрощают, рационализируют...
...
Или это, скажем так, попытка, изобразить ООП средствами PS?  
А тогда сразу с неизбежностью в полный рост встает вопрос по реализации классов средствами PS (пусть даже это будет называться по-другому).  
 
 
 
 
 
 

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 12:20 02-09-2017 | Исправлено: 2as, 12:28 02-09-2017
PhoenixUA



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

Цитата:
Есть ли возможность в PS строить что-нибудь подобное классам

Есть конкретно классы начиная с версии 5.0:
https://4sysops.com/archives/powershell-classes-part-1-objects/

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 12:45 02-09-2017
LevT



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

Цитата:
Есть конкретно классы начиная с версии 5.0:  

 
Классы есть, в первую очередь для определения собственых DSC ресурсов.
Для других целей Джонс пока не рекомендует их использовать.
 
От преобразования функции в класс теряется встроенный функционал пошика, а класс получается всё равно не столь уж классичен.
 
 

Цитата:
Где помимо наследования, есть еще:  
 - инкапсуляция  
 - полиморфизм  

 
Этих предметов в пошике навалом, только это не привычные игрушки для ОО-школяров
Полиморфизм например в типе продвинутых функций (командлетов). См. ParameterSet
 
Ну, и они есть в .NET  
Командлет это .NET класс-наследник определенного типа с существенно важными атрибутами: в начале рекомендовалось писать свои и расширять готовые командлеты на C#.
Пока не доделали этот функционал пошика (а сделать его планировалось изначально)  
 
 

Цитата:
PS инструмент для кого/чего? Программирования? Администрирования?  
Если админа, то не вижу задач где наследование может понадобиться.  

 
Чуть выше я только что написал, для чего:
Пошик это инструмент для взаимодействия мастеров и мотивированных подмастерий.
 
Даже когда что-то делаешь для себя, полезно поочерёдно вступать в эти роли.
Реализация должна отвечать в первую очередь на вопрос: как это будет использоваться?  
 
 
Добавлено:

Цитата:
С этой позиции и хотелось бы узнать причину и необходимость наследования, "хука" в Вашей терминалогии в PS.  

 
Прокси-скрипт вытаскивает наружу машинерию трубы - ту, которая тотально пронизывает все командлеты и работает в пошике помимо нашего сознания и желания.
 
Для меня важна возможность изучения и потенциальной модификации этой функциональности.
Для новичков у Джонса есть готовый пример с добавлением определённой css в заголовок сконвертированного HTML
 
 
Добавлено:
 

Цитата:
Если программёра, то зачем ему инструмент, изначально заточенный для админа, на что недвусмысленно указывают алиасы..

 
Вот на это есть окончательный ответ: алиасы только для однострочников-однодневок, чтобы админу не лезть в привычные cmd/bash.
Алиасы разворачивать обязательно, если скриптом предполагается делиться (хотя бы с собой же, но через полгода).
Есть ScriptAnalyzer, который не пропускает в галерею алиасы.
Есть ISESteroids с рефакторингами, первый из которых разворачивает алиасы.
 
 
Добавлено:
 
 
 

Цитата:
 Есть ли возможность в PS строить что-нибудь подобное классам (из ООП) - применительно к командлетам с отражением в репозитарии, например?  

 
Репозиторий предназначен для распространения в первую очередь модулей.
Модуль - это коллекция тесно связанных командлетов, расширенных типов данных, выводных форматов, руссско- и прочеязычных текстов справки и проч.
Снабженная psd1 дескриптором, предназначенным для репозитория (тот может переваривать эти дескрипторы и публиковать в соответствии со своей дополнительной логикой)
 
PS распознаёт дескрипторы модулей, установленных в $env:PSModulePath
За установку туда модулей и работу с внешними репозиториями отвечает изкоробочный модуль PackageManagement  
Внешние репозитории должны быть сетевыми шарами или нугет-фидами.

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 13:04 02-09-2017 | Исправлено: LevT, 15:29 02-09-2017
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Достаточно подробно и содержательно.
Пока переварю. Потом посмотрю как можно это дело примерить на свои задачи.
Если что толковое надумаю, поделюсь обязательно.
Пока некоторые моменты (большенство, если честно) не укладываются в привычные рамки и тех. процессы...
А почему конвейеры величаете трубой (принятый где-то сленг, или собственная интерпретация)?

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 18:00 02-09-2017 | Исправлено: 2as, 18:16 02-09-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as
собственное 0)
Конвейер - pipe - труба  
 
 
Добавлено:
 
А применить это просто - см. пост выше со словом XOЧУ  
Начать формулировать таким образом свои собственные потребности в автоматизации.
 
 
Добавлено:
Ну, и

Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 18:49 02-09-2017 | Исправлено: LevT, 19:15 02-09-2017
2as

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

Цитата:
А применить это просто - см. пост выше со словом XOЧУ  
Начать формулировать таким образом свои собственные потребности в автоматизации.

Ничего в этом нового - так было всегда - сначала решаешь, что необходимо, потом каким инструментом наиболее рационально решить.
Этим самым PS и понравился:
 - встроен
 - согласован с COM и WMI
 - поддерживает технологии WS-Management и  CIM (Common Information Model)
 - масштабируем (резинку можно тянуть пока хотелка не лопнет, например через тот же .NET)
 - очень важно, что достаточно прост в осваивании - админить (решать реальные задачи) можно через неделю не слишком активного осваивания.
 
НО ...
вот эти НО я пока формулирую (для себя как минимум)
 - где границы (рационального использования)
 - насколько сочетаемы скриптовость и наследование (т.е. элементы ООП)
 - предполагаемый жизненный путь PS (ушел, ушли разработчика)
 - как приживется в других средах (в том же Линуксе)
 - будет ли проведена граница между применимостью (для работы в поле пчелками системного администрирования) и "академиками" (конструирование, внедрение тех же командлетов).
Так как Вы справедливо отметили, концепция конвейера (функционального программирования), мягко говоря не совсем сочетается с ООП (условно). Если не прямо противоречат...
(Хотя есть пример того же Питона, например)....
...
Так что пока беру паузу...
 

Всего записей: 3644 | Зарегистр. 09-09-2003 | Отправлено: 04:37 03-09-2017 | Исправлено: 2as, 04:38 03-09-2017
   

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