Георги Иванов за ползите от PowerShell и необходимите умения за работа с него

Georgi IvanovГеорги Иванов е Senior Cloud Administrator в BULPROS, с над 8 години опит в управление и поддръжка на Windows инфраструктура. Има 5 години практически опит с Windows PowerShell, като е работил с версии 2, 3 и 4, която е и последната към момента. Поканихме го да разкаже за ползите от PowerShell и необходимите умения за работа с него.

Какви възможности дава PowerShell и не може ли без него?

Повечето продукти в света на Microsoft (Windows Server, SQL, Exchange, Lync, SharePoint, System Center) вече разполагат с вградени PowerShell команди, с които може да се извърши всичко, което е налично през графичните инструменти, и много повече. Това отключва нови възможности за автоматизация на повторяеми операции и дори цели процеси.

Кой в организацията използва PowerShell?

PowerShell е много мощен фреймуърк, който има широко приложение и може да бъде използван като се започне от екипа по Поддръжка, от Администраторите и се стигне дори до Програмисти.

Какви знания и опит изисква работата с PowerShell?

На съвсем базовото ниво, администраторите могат да работя с PowerShell без никакви знания по програмиране – достатъчно е да изпълняват вградените команди или да изпълняват създадените и документирани от някой друг инструкции. Например, ако трябва да вземат справка за ъпдейтите от няколко отдалечени компютъра, могат да изпълнят нещо подобно: Invoke-Command –ComputerName server1,Server2,Server3 –ScriptBlock {Get-Hotfix}.

На следващото ниво са потребители, които искат сами да автоматизират различни задачи. На тях ще им бъдат от полза основни познания по програмиране, неща, които са учили в университета – принципи на обектно-ориентирано програмиране.

Като цяло, PowerShell дава достъп до целия .NET. Т.е. каквото разработчикът може да напише като код, програма, може да го напише и през PowerShell. Ако имате сериозен опит с програмирането, този опит ще ви е много полезен при работа с PowerShell.

Ако се върнем към въпроса по-горе, краткият отговор е, че на средностатистическият PowerShell потребител са му необходими основни знания за принципите на обектно-ориентираното програмиране.

Нека уточня, че PowerShell е технология, която дава възможност да управляваш различни продукти, но тя не заменя знанията, които трябва да имаш за тези продукти. Например, за да можеш да управляваш SQL през PowerShell, трябва да разбираш от SQL. Сами по себе си познанията по PowerShell не са достатъчни.

Нещо, което намирам за голям плюс в PowerShell е, че след като веднъж се запознаеш с концепцията и начина по който са организирани нещата, после е много лесно да работиш с различни продукти, защото те спазват тези концепции. За сравнение, за да работиш с Lync и SQL, трябва да се запознаеш с два напълно различни интерфейса за управление с различни концепции.

Какви са предимствата на PowerShell v4 спрямо предходните версии на продукта?

powershellС всяка следваща версия на PowerShell излизат все по-хубави неща. Във версия 4 най-много харесвам една нова функционалност, която Microsoft предоставиха – Desired State Configuration (DSC). Тя позволява да се декларира състоянието на една операционна система в файл (напр. как да бъдат конфигурирани дискът и адресите, какъв софтуер да има инсталиран), след което просто се указва на DSC да конфигурира системата по файла. Това е голямата промяна, която се появи във версия 4 и която се очаква да бъде подобрена значително в следващата версия.

Какво друго очакваш (или се надяваш) да бъде подобрено в PowerShell v5?

Напоследък ми се налага да използвам PowerShell в голяма степен като разработчик. След като започнах да програмирам, открих в програмирането неща, които ми липсват в PowerShell. Например, възможността за source control – посока, в която силно се надявам Microsoft да започнат да работят.

В следващите месеци ще проведеш поредица от PowerShell курсове в Ню Харайзънс България. Разкажи ни накратко какво е специфичното за всеки от тях.

Това е основният курс за PowerShell, задължителен на всеки начинаещ или напредващ в работата с PowerShell. В него се разглеждат както съвсем базови неща, така и по-сложни концепции и принципи, които трябва да разбираш добре, за да можеш да се занимаваш с по-сложните теми, които разглеждат следващите курсове.

Както вече обясних, PowerShell се свежда до команди. Като създадат продукт, напр. Exchange Server, Microsoft създават и PowerShell команди за Exchange Server, чрез които работата с Exchange се автоматизира и могат да се изпълняват функции, които графичният интерфейс не позволява. Курс 10961 ще ви запознае с принципите на PowerShell и ще ви научи как да използвате готовите, вградени команди.

Предварително изискване към участниците е да имат практически опит за работа с Windows Server. Препоръчително е да притежават и базови познания по обектно –ориентирано програмиране.

Курс 55039 е за хора, които искат да автоматизират операции, да създават скриптове. Тук се обясняват и неща, които ще бъдат полезни в третия курс за Advanced Automated Administration. Предварително изискване към участниците е наличието на практически опит с Windows Server и PowerShell, като е силно препоръчително да са преминали курс 10961.

Третият курс е за старши администратори, които създават PowerShell команди и инструменти, които да се използват от други. Всяка компания има процедури, които са дефинирани в писмен вид. Например, какво трябва да се направи, ако е необходимо да бъде спрян от експлоатация сървър. Старши администраторът може да създаде PowerShell команда Deprovision-CompanyServer, на която да се подава като параметър името на сървъра и тя да изпълнява необходимите стъпки. Когато трябва да се спре даден сървър, за някой оперативен човек би било много по-лесно да изпълни само тази команда, вместо да отваря документацията и да изпълнява стъпките една по една.

Благодаря за този разговор и до скоро!

Интересувате се от курса? Пишете ни!

    Бързо запитване

    Вашите имена *

    Вашият Email *

    Вашето съобщение *

    captcha

    Добавете коментар

    Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *