Powershell Урок за начинаещи: Научете Powershell Scripting

Нека започнем да изучаваме Powershell Lessвключвания. Първо ще научим:

Какво е PowerShell?

Windows PowerShell е обектно-ориентиран двигател за автоматизация и скриптов език. Предназначен е главно за ИТ специалисти и системни администратори за контрол и автоматизиране на администрирането Windows ОС и други приложения. Той предоставя завладяващи нови концепции за разширяване на знанията, които сте придобили, и скриптовете, които сте създали в рамките на Windows Команден ред и Windows Скриптови хост среди.

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

Това е пълно ръководство за основите на скриптовете на Powershell… нека започнем!

Защо да използвате Powershell?

Ето някои важни причини да използвате Powershell:

  • Powershell предлага добре интегрирано изживяване на командния ред за операционната система
  • PowerShell позволява пълен достъп до всички типове в .NET framework
  • Доверен от системните администратори.
  • PowerShell е лесен начин за манипулиране на компоненти на сървър и работна станция
  • Той е насочен към системните администратори, като създава по-лесен синтаксис
  • PowerShell е по-сигурен от работещ vbscript или други скриптови езици

История на PowerShell

Първата версия 1.0 на PowerShell беше пусната през 2006 г. Днес PowerShell е във версия 7.2. С изминаването на годината и версията възможностите на PowerShell и хостинг средите нараснаха значително.

Нека да видим историята на Powershell по отношение на версията:

  • PowerShell версия 1 поддържа локалната администрация на Windows Сървър 2003
  • PowerShell 2.0 беше интегриран с Windows 7 и Windows Сървър 2008 R2. Тази версия поддържа отдалечено управление и подобрява възможностите на PowerShell като транзакции, фонови задания, събития, отстраняване на грешки и др.
  • PowerShell 3.0 беше пуснат като вътрешна част от Windows управленска рамка. Беше инсталиран на Windows 8 и Windows Сървър 2012. Можете да добавяте и планирани задачи, свързване на сесии, автоматично зареждане на модули и т.н.
  • PowerShell 4.0 беше доставен с Windows 8.1 и Windows Сървър 2012 R2. В тази версия е добавена поддръжка за конфигурация на желаното състояние, подобрено отстраняване на грешки, мрежова диагностика.
  • PowerShell 5.0 беше пуснат като вътрешна част от Windows рамка за управление 5. Предлаганите функции в тази версия са отдалечено отстраняване на грешки, дефиниции на класове, .NET изброявания и др.
  • Беше пуснат PowerShell 7.2. Изграден е на .NET 6.0. Тази версия предлага нови оператори, опростен и динамичен изглед на грешки, автоматични известия за нова версия и др.

След това в този урок за скриптове на Powershell ще научим за функциите на Powershell.

Характеристики на Powershell

  • PowerShell Remoting: PowerShell позволява извикване на скриптове и командлети на отдалечена машина.
  • Фонови задачи: Помага ви да извикате скрипт или конвейер асинхронно. Можете да изпълнявате задачите си или на локалната машина, или на множество дистанционно управлявани машини.
  • Сделки: Активирайте cmdlet и позволява на разработчиците да изпълняват
  • Вечер: Тази команда ви помага да слушате, препращате и действате при управление и системни събития.
  • Мрежово прехвърляне на файлове: Powershell предлага вградена поддръжка за приоритизирано, асинхронно, ограничено прехвърляне на файлове между машини с помощта на технологията Background Intelligent Transfer Service (BITS).

Как да стартирате PowerShell

Сега в този урок за скриптове на Powershell ще научим как да стартираме Powershell на Windows OS.

PowerShell е предварително инсталиран във всички най-нови версии на Windows. Трябва да стартираме PowerShell, за което трябва да следваме дадените стъпки:

Стъпка 1) Потърсете PowerShell в Windows. Изберете и щракнете

Стартирайте PowerShell

Стъпка 2) Отваря се прозорец на Power Shell

Стартирайте PowerShell

PowerShell Cmdlet

Кратка команда, която също се нарича Command let is a, е лека команда, използвана в средата на PowerShell на базата на Window. PowerShell извиква тези командлети в командния ред. Можете да създадете и извикате команда за кратки команди с помощта на PowerShell APIS.

Cmdlet срещу команда

Кратки команди се различават от командите в други командни обвивки по следните начини?

  • Кратки команди са . NET Framework клас обекти Не може да се изпълнява отделно
  • Кратки команди могат да се съставят само от дузина редове код
  • Анализът, форматирането на изхода и представянето на грешки не се обработват от кратки команди
  • Процесът на командлети работи върху обекти. Така че текстовият поток и обектите не могат да бъдат предавани като изход за конвейер
  • Кратки команди са базирани на записи, тъй като обработват един обект наведнъж

По-голямата част от функционалността на PowerShell идва от Cmdlet, който винаги е във формат глагол-съществително, а не множествено число. Освен това Cmdlet връща обекти, а не текст. Кратка команда е поредица от команди, която е повече от един ред, съхранявана в текстов файл с разширение .ps1.

Командлет винаги се състои от глагол и съществително име, разделени с тире. Някои от глаголите, които използвате, за да научите PowerShell, са:

  • Обратна — Да получа нещо
  • Начало — Да ръководя нещо
  • от — Да изведа нещо
  • Спиране — Да спре нещо, което работи
  • комплект — Да определя нещо
  • НОВ — Да създам нещо

PowerShell команди

Следва списък с важни команди на PowerShell:

Извикай помощ: Помощ за командите и темите на PowerShell

Пример: Показване на помощна информация за командата Format-Table

Get-Help Format-Table

Cmdlet срещу команда

Get-Command: Получете информация за всичко, което може да бъде извикано

Пример за скрипт на Powershell: За генериране на списък с кратки команди, функции, инсталирани на вашата машина

Get-Command

Cmdlet срещу команда

Get-Service: Намира всички командлети с думата „услуга“ в тях.

Пример: Вземете всички услуги, които започват с „vm“

Get-Service "vm*"

Cmdlet срещу команда

Get- Member: Покажете какво може да се направи с даден обект

Пример: Вземете членове на vm процесите.

Get-Service "vm*" | Get-Member

Cmdlet срещу команда

Други команди:

  • Get Module Показва пакети от команди
  • Получаване на съдържание Тази кратка команда може да вземе файл, да обработи съдържанието му и да направи нещо с него
  • Get- get Намира всички кратки команди, започващи с думата 'get-

Пример: Създаване на папка

New-Item -Path 'X:\Guru99' -ItemType Directory

Изход:

Cmdlet срещу команда

Powershell типове данни

Powershell типове данни
Powershell типове данни

Специални променливи

Специална променлива Descriptйон
$Error Масив от обекти за грешки, които показват най-новите грешки
$Host Показване на името на текущото хостинг приложение
$Профил Съхранява целия път на потребителски профил за обвивката по подразбиране
$PID Съхранява идентификатора на процеса
$PSUICulture Той съдържа името на текущата UI култура.
$NULL Съдържа празна или NULL стойност.
$False Съдържа FALSE стойност
$True Съдържа TRUE стойност

Скриптове на PowerShell

Powershell скриптовете се съхраняват в .ps1 файл. По подразбиране не можете да стартирате скрипт, като просто щракнете двукратно върху файл. Това предпазва вашата система от случайни повреди. За да изпълните скрипт:

Стъпка 1: щракнете с десния бутон върху него и щракнете върху „Изпълни с PowerShell“.

Скриптове на PowerShell

Освен това има политика, която ограничава изпълнението на скрипт. Можете да видите тази политика, като изпълните командата Get-ExecutionPolicy.

Ще получите един от следните резултати:

  • Ограничен— Не са разрешени скриптове. Това е настройката по подразбиране, така че ще се покаже за първи път, когато изпълните командата.
  • AllSigned— Можете да изпълнявате скриптове, подписани от доверен разработчик. С помощта на тази настройка скриптът ще поиска потвърждение, че искате да го изпълните, преди да се изпълни.
  • RemoteSigned— Можете да изпълнявате вашите или скриптове, подписани от доверен разработчик.
  • неограничен— Можете да стартирате всеки скрипт, който искате да стартирате

Стъпки за промяна на политиката за изпълнение

Стъпка 1) Отворете подкана с повишени права на PowerShell. Щракнете с десния бутон върху PowerShell и „Изпълни като администратор“

Скриптове на PowerShell

Стъпка 2) Въведете следните команди

  1. Get-ExecutionPolicy
  2. Политиката за изпълнение на набора е неограничена
  3. Въведете Y в подканата
  4. Get-ExecutionPolicy

Скриптове на PowerShell

Първият PowerShell скрипт

В бележник напишете следната команда

Write-Host "Hello, Guru99!"

PowerShell Scripts имат разширение ps1. Запазете файла като FirstScript.ps1

Първият PowerShell скрипт

В Powershell извикайте скрипта с помощта на командата

& "X:\FirstScript.ps1"

Първият PowerShell скрипт

Какво е PowerShell ISE?

- Windows PowerShell Integrated Scripting Environment (ISE) е редакторът по подразбиране за Windows PowerShell. В този ISE можете да изпълнявате команди, да тествате запис и да отстранявате грешки в скриптове в GUI среда, базирана на прозорец. Можете да правите многоредово редактиране, оцветяване на синтаксиса, довършване на раздели, селективно изпълнение и много други неща.

Windows PowerShell ISE също ви позволява да изпълнявате команди в конзолен панел. Въпреки това, той също поддържа панели, които можете да използвате, за да видите едновременно изходния код на вашия скрипт и други инструменти, които можете да включите в ISE.

Можете дори да отворите няколко прозореца на скриптове едновременно. Това е особено полезно, когато отстранявате грешки в скрипт, който използва функции, дефинирани в други скриптове или модули.

PowerShell ISE

PowerShell ISE

Същият скрипт, който създадохме в notepad, може да бъде създаден в ISE

  1. Поставете кода в редактора
  2. Запазване на скрипта
  3. Използвайте F5, за да стартирате скрипта
  4. Наблюдавайте изхода в конзолата

PowerShell ISE

Пример 2:

Следният код ще даде Free Виртуална памет във вашата машина

Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

PowerShell ISE

PowerShell Concepts

Сега в този урок за Powershell за начинаещи ще научим за важни концепции на Powershell:

Cmdlets Cmdlet са команда за изграждане, написана на .net езици като VB или C#. Позволява на разработчиците да разширят набора от кратки команди чрез зареждане и запис на PowerShell модули.
Функции Функциите са команди, които са написани на езика PowerShell. Може да се разработи без използване на други подобни IDE Visual Studio и разработчици.
Scripts Скриптовете са текстови файлове на диск с разширение .ps1
Приложения Приложенията са съществуващи Windows програми.
Какво ако Казва на cmdlet да не се изпълнява, а да ви каже какво ще се случи, ако cmdlet се изпълни.
потвърждавам Инструктирайте cmdlet да извежда подкана преди изпълнение на командата.
многословен Дава по-високо ниво на детайлност.
Debug Инструктира кратката команда да предостави информация за отстраняване на грешки.
ErrorAction Инструктира кратката команда да извърши конкретно действие, когато възникне грешка. Разрешените действия продължават, спират, тихо - продължават и запитват.
ErrorVariable Той определя променливата, която съдържа информация за грешка.
OutVariable Указва на cmdlet да използва конкретна променлива за задържане на изходната информация
отBuffer Инструктира кратката команда да задържи конкретния брой обекти, преди да извика следващата кратка команда в конвейера.

Предимства от използването на PowerShell скрипт

  • Скриптовете PowerShell са наистина мощни и могат да направят много неща с по-малко редове.
  • Променливите се декларират във формата $
  • Променливите могат да се използват за задържане на изхода на команда, обекти и стойности.
  • Не е необходимо да се посочва „тип“ на променлива.

PowerShell Vs. Команден ред

PowerShell Command Prompt
PowerShell се интегрира дълбоко с Windows OS. Той предлага интерактивен интерфейс на командния ред и скриптов език. Командният ред е интерфейс на командния ред по подразбиране, който се предоставя от Microsoft. Това е просто win32 приложение, което може да взаимодейства и да разговаря с всякакви win32 обекти в Windows операционна система.
PowerShell използва това, което е известно като командлети. Може да бъде извикан или в средата за изпълнение, или в скриптовете за автоматизация. Няма такива функции, предлагани от командния ред.
PowerShell ги разглежда като обекти. Така че изходът може да бъде предаден като вход към други кратки команди през тръбопровода. Команден ред или дори *nix shell, изходът, генериран от cmdlet, не е просто поток от текст, а колекция от обекти.
PowerShell е много напреднал по отношение на функциите, възможностите и вътрешното функциониране. Командният ред е много елементарен.

Приложения на Powershell

Днес PowerShell се превърна в идеален избор за ИТ администратори, тъй като улеснява управлението и усилията в големи корпоративни мрежи. Да приемем например, че управлявате голяма мрежа, която съдържа повече от четиристотин сървъра. Сега искате да внедрите ново решение за сигурност. Това решение за сигурност зависи от определена услуга, която трябва да работи на тези сървъри.

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

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

Oбобщение

  • Windows PowerShell е обектно-ориентиран механизъм за автоматизация и скриптов език
  • Powershell предлага добре интегрирано изживяване на командния ред за операционната система
  • Първата версия 1.0 на PowerShell беше пусната през 2006 г
  • PowerShell позволява извикване на скриптове и командлети на отдалечена машина
  • PowerShell е предварително инсталиран във всички най-нови версии на Windows
  • Кратка команда е лека команда, използвана в средата на PowerShell на базата на Window
  • Get, Start, Out, Stop, Set, New са важни команди на PowerShell
  • Boolean, Byte, Chat, Decimal, Decimal, Long са важни типове данни на PowerShell
  • $Error. $Host, $Profile, $PID, $PSUICulture, $NULL са някои специални променливи, използвани в PowerShell
  • - Windows PowerShell Integrated Scripting Environment (ISE) е редакторът по подразбиране за PowerShell
  • PowerShell се интегрира дълбоко с Windows OS, докато командният ред е интерфейс на командния ред по подразбиране, който се предоставя от Microsoft
  • PowerShell се превърна в идеален избор за ИТ администратори, тъй като улеснява управлението и усилията в големи корпоративни мрежи