![]() |
Как полюбить PowerShell?
Здравствуйте.
Как полюбить PowerShell? Как на нем начать писать так, чтобы не было мучительно больно проклинать его создателей? Суть в чем? Есть PS, он весь объектно-ориентированный. Он, по идее, должен быть классным. Он должен уметь чего всего. Вопрос, как понять логику его работы? С каких шагов, инструментов, книг, практик, задач? Как изменить свое отношение и понять, что то, что делалось на bash одним, достаточно простым и понятным способом сделается так же, но другим? Буквально вчера мне попалось расширение powershell on steroids которое начало подсказывать возможные ошибки в синтаксисе. Банально: Код:
echo Hello World в Windows: "hello world" (те две строки) И казалось бы правильная строка выглядит как Код:
Write-Output -InputObject 'Hello World' Про вывод длинных строк это тоже отдельная история. В общем ... как не гореть? Как дойти до его сильных сторон и элегантных решений? |
Цитата:
Как пример возможностей Powershell могу привести вот эту задачу: http://forum.oszone.net/nextoldesttothread-250886.html. Excel-файл, который я приложил, это результат полностью автоматической обработки исходного txt. У меня очень много всего на работе автоматизировано на Powershell, шлются красивые отчёты по почте с формированием файлов Excel, с графиками и т. д. Пользователь при входе в домен пишет в свою учётку в AD имя машины, время входа, MAC-адрес и т. п., автоматически обрабатывается штатное расписание, выгружаемое из 1С, присылаются отчёты, кто появился-исчез из штатки по сравнению с AD, и так далее. Я считаю, что Powershell - это одна из наикрутейших вещей в Windows. Есть хорошая книжка - Learn PowerShell in a Month of Lunches, я по ней начинал. Ещё есть Windows PowerShell in Action. Цитата:
Код:
echo "Hello World" Код:
# вывести список псевдонимов |
DJ Mogarych, ни, ну до get-alias то я добрался :)
Даже принял концепцию Действие-Объект Даже смирился, что строка в ответе тоже объект и его надо соотв. образом выводить. Знаю, что с до реестра удобно добираться, и чуть-ли не всю систему через него админить можно. У меня на каком-то ментальном уровне расхождение. Примерно как с С++ =) Примеры посмотрю, спасибо. P.S. Побудило же создать тему ps2exe которая не работает в консоли (не смотря не примеры, и возможно это не баг, а фича), работает через gui (win-ps2exe) и в конечном счете задача перевода скрипт в бинарь решилась через ps on steroids. Но блииин... Из задачек -- пробовал дернуть через REST запрос (с передачей объекта понятное дело, с заголовком, токеном и пр) неподтвержденный ssl сертификат. Каково же было мое удивление, что необходимые ключи (что-то в р-не ignore ssl) нативно дописали только в последней версии. |
Цитата:
Код:
$path = 'C:\Files' Код:
Переменная path = 'C:\Files' |
Для того чтобы слегка вработаться в пошик нужно выучить три команды.
1. Код:
get-help Код:
get-help get-aduser Код:
get-help get-aduser -example Код:
get-help get-aduser -online дальше - у каждого объекта есть набор свойств и методов которые можно дергать, сравнивать, сортировать, фильтровать... короче делать все что угодно из того что можно. и все что можно сделать познается в один пайп и две буквы 2. Код:
| gm так Код:
get-childitem а Код:
get-childitem | gm Код:
(get-childitem).length а вот так Код:
(get-childitem -path z:/папка_с_ненужными_файлами).delete() так что зная get-help и get-member можно уже много чего наворотить. ну а если забыл какую-то команду то есть 3. Код:
get-command Код:
get-command *computer* |
Цитата:
С GUI: https://github.com/MScholtes/TechNet...ter/PS2EXE-GUI |
lxa85, книгу прочесть... Тогда любовь будет крепче. А учиться по форумам и блогам с их ванлайнерами и псевдонимами - потом будешь переучиваться через боль.
|
Цитата:
Цитата:
И учиться исключительно на полных наименованиях командлетов, ни в коем случае не привыкать изначально к алиасам (их уже после освоения можно будет применять, для простоты, когда уже будет ассоциация сразу же формироваться с полным наименованием). Прелесть Powershell (вернее одна из них), как раз, в понятных наименованиях "глагол-существительное"... Помимо вышеуказанной литературы, могу посоветовать пару русскоязычных или переведенных: "Эффективное программирование в Windows PowerShell" Keith Hill, "Введение в Windows PowerShell" А.Попов. - книжки немного устаревшие уже, для современных версий PS, но тем не менее, всё равно, актуальные и очень хороши для начального понимания принципов и отличий от... |
Время: 23:50. |
Время: 23:50.
© OSzone.net 2001-