Как да отворите PowerShell, всички методи. Писане и изпълнение на скриптове в PowerShell

1. Писане на сценарий

Скриптът на PowerShell (без значение коя версия) е текстов файл с разширение *.ps1.

Ето пример за прост скрипт на Power Shell (файл systemInfo.ps1):

# Извличане на WMI обект за операционната система

Get-WmiObject Win32_OperatingSystem

Този файл може да бъде създаден и редактиран, например, във FAR Manager.

Забележкаче FAR Manager, въпреки че може да работи в конзолата Power Shell, но изпълнява скриптове от себе си в средата на обикновена конзола на Windows cmd . Тоест, FAR Manager може да се използва само за създаване и редактиране на PowerShell скриптове, но не и за изпълнение. Но преди да се разочаровате, прочетете точка 3.

2. Стартирайте скрипта

Скриптът трябва да се стартира от конзолата на Power Shell, а не от обикновената конзола на Windows. В конзолата на Power Shell трябва да отидете в директорията, където се намира скриптът (с помощта на командите cd ), и след това стартирайте самия скрипт, не забравяйте да предпишете знаците преди него".\" . Например, имаме пътя до скриптовия файл d:\work\systemInfo.ps1 . Тогава командите за стартиране ще изглеждат така:

cd\

cd работа

.\systemInfo.ps1

или по този начин (просто посочете пълния път до скрипта):

d:\work\systemInfo.ps1

Най-вероятно, когато стартирате скрипта, ще се появи следната грешка:

Не може да се зареди файл D:\work\systemInfo.ps1, защото скриптовете не са разрешени в тази система. Напишете „get-help about_signing“ за повече информация.

низ: 1 знак: 18

CategoryInfo: NotSpecified: (:), PSSecurityException

FullyQualifiedErrorId: RuntimeException

Грешката се появява поради факта, че по подразбиране Power Shell има активирана максимална политика за сигурност, която ви позволява да изпълнявате команди на PowerShell на командния ред, но не ви позволява да изпълнявате скрипт с команди на PowerShell на същия команден ред .

За да разрешите изпълнението на скриптове на PowerShell, трябва да създадете *.bat файл, например enableScript.bat със следното съдържание:

powershell -Command Set-ExecutionPolicy RemoteSigned

Този *.bat файл може да се изпълни във всяка конзола: дори в PowerShell, дори в обичайната cmd . След изпълнение на този файл, скриптовете на PowerShell ще започнат да се изпълняват в конзолата на PowerShell.

3. Стартиране на PowerShell скрипт от обикновена cmd конзола на Windows

Можете също така да стартирате PowerShell скрипт от обикновена конзола на Windows. За да направите това, можете да използвате командата:

Powershell -файл ./systemInfo.ps1

По този начин можете да изпълнявате скриптове директно от FAR Manager и те ще работят.

Но тук има лека тънкост. Параметър- Файл задейства само по локални пътища, дори ако пътят е относителен"./" . Тоест, ако *.ps1 - файлът е на локалния диск C: или D: , тогава това обаждане ще работи. Но ако се опитате да изпълните скрипт, намиращ се на ресурс на домейн, скриптът няма да бъде намерен. Може би това ще бъде коригирано в бъдещите версии на PowerShell.

След като преминаха към операционната система Windows 10, много потребители забелязаха бутона „Стартиране на PowerShell“ в интерфейса на Explorer. В тази връзка в мрежата се появиха много въпроси, потребителите се интересуваха каква е програмата Windows PowerShell и за какво е тя. Ако и вие се интересувате от този въпрос, тогава този материал трябва да ви помогне.

Какво е Windows PowerShell

Windows PowerShell е скриптов език и програма за команден ред за изпълнение на тези скриптове. Този език беше пуснат през 2006 г. като част от втория сервизен пакет за Windows XP и оттогава PowerShell е част от всички операционни системи на Microsoft. През 2008 г. се появи втората версия на този език и от Windows 7 се използва. Файловете със скриптове на Windows PowerShell имат разширение PS1 и могат да се изпълняват като познати BAT и CMD файлове.

Windows PowerShell е скриптов език, който е разработен основно за бизнес клиенти на Microsoft, които се нуждаят от мощни инструменти за автоматизиране на задачите за управление на Windows сървъри и компютри. Платформата .NET, разработена от Microsoft от 2002 г., е използвана като основа за този език.

Windows PowerShell ви позволява да автоматизирате голямо разнообразие от задачи. С него можете да управлявате файлове, услуги, процеси, акаунти и настройки. Езикът PowerShell разбира много команди от обикновения команден ред на Windows (CMD), но също така има свой собствен език, състоящ се от собствени команди, наричани тук командлети.

Cmdlets (на английски cmdlets) се формират според правилото глагол-съществително, например Get-Help. Можете да научите основите на Windows PowerShell, като използвате Помощ (кратката команда „Get-Help“). За обща информация просто напишете „Get-Help“, за помощ за конкретен cmdlet напишете „Get-Help Cmdlet-Name“. Например, ако въведете командата „Get-Help Get-Process“, ще получим помощ за cmdlet Get-Process.

Как да стартирате програма Windows PowerShell

Можете да стартирате програма Windows PowerShell по различни начини. Най-лесният вариант е просто да използвате търсенето в менюто "Старт". За да направите това, отворете менюто "Старт", въведете заявката за търсене "Windows PowerShell" и след това отворете намерената програма.

Можете също така да използвате комбинация Клавиш Windows-Rи въведете командата "powershell".

В Windows 10 програмата PowerShell може да се стартира от всяка папка. За да направите това, щракнете върху бутона "Файл" в горния ляв ъгъл на Explorer и изберете "Стартиране на Windows PowerShell".

Как да използвате програмата Windows PowerShell

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

Изпразване на кошницата. Има специална команда за изчистване на кошчето, наречена „Clear-RecycleBin“. Тази кратка команда е полезна при писане на скриптове за обслужване на компютри. Когато стартирате cmdlet, трябва да посочите устройството, на което искате да изпразните кошчето. Пример:

Изчистване на кошчето c:

Екранната снимка по-долу показва как се изпълнява тази кратка команда. След въвеждане на командата "Clear-RecycleBin c:" се появява съобщение за потвърждение. За да продължите да изпълнявате cmdlet, трябва да въведете буквата "Y" и да натиснете Enter.

Ако добавите „-Force“ към кратката команда „Clear-RecycleBin c:“, тогава кошчето ще бъде изчистено, без да се иска потвърждение. Екранна снимка по-долу.

Архивиране на файлове. За архивиране и разопаковане на файлове се предоставят кратки команди Compress-Archive и Expand-Archive. Например, за да архивирате папката "C:\test\" в архива "C:\archive\test2.zip", трябва да изпълните следната команда:

Compress-Archive -LiteralPath C:\test\ -DestinationPath C:\archive\test2.zip

В резултат на изпълнение на горната команда в папка “C:\archive\” ще се появи файлът “test2.zip”, в който ще се архивира съдържанието на папка “C:\test\”.

Списък на кратки команди за Windows PowerShell

За Windows PowerShell има огромен брой различни командлети и няма да работи да ги опишем всички в една статия. Затова ви предлагаме да се запознаете с най-популярните от тях:

  • Get-Help - получаване на помощ;
  • Update-Help – помощ за актуализация;
  • Get-Command - търсене на cmdlets;
  • Get-Alias ​​​​- търсене на псевдоними за cmdlets;
  • Get-PSDrive - преглед на свързани дискове;
  • Get-Member - преглед на свойствата и методите, които има даден обект;
  • Get-WindowsFeature - преглед на информация за наличните сървърни роли и функции;
  • Install-WindowsFeature (подобно на Add-WindowsFeature) – инсталира роли или функции на желания сървър;
  • Uninstall-WindowsFeature (подобно на Remove-WindowsFeature) - премахва сървърни роли или функции;
  • Get-History - преглед на хронологията на командите, въведени в тази сесия;
  • Get-Variable - преглед на списъка с променливи и техните стойности;
  • New-Variable - създаване на нова променлива;
  • Set-Variable - задаване на стойност на променлива;
  • Clear-Variable - изтриване на стойността на променлива;
  • Remove-Variable - премахване на променлива и нейната стойност;
  • Format-List - преглед на резултата от командата като списък от свойства, където всеки ред има отделно свойство;
  • Format-Table - преглед на резултата от командата в табличен формат;
  • Format-Wide - преглед на резултата от командата като широка таблица, която показва само едно свойство за всеки обект;
  • Format-Custom - преглед на резултата от командата с помощта на персонализиран изглед;
  • Export-Csv - експортиране на данни в CSV формат;
  • Import-Csv - импортиране на данни от CSV файл;
  • Export-Clixml - експортиране на данни в XML формат;

Можете да получите пълен списък на кратките команди на Windows PowerShell, като изпълните кратката команда „Get-Command -CommandType“.

Стартиране на програма от PowerShell

Задачата е да стартирате от PowerShell произволен изпълним файл(програма или помощна програма от командния ред) е доста често срещана. PowerShell предлага няколко различни начина да направите това, които ще разгледаме по-късно в тази статия. Да започнем с най-простото...

директно стартиране

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

Set-Location ″C:\Program Files″
.\Hello.exe

Моля, имайте предвид, че дори и да сте в правилната директория, трябва да посочите относителния път към изпълнимия файл. Изключение са файлове от директории, изброени в променливата на средата (път). Например, различни вградени програми и помощни програми (notepad, calc, ping и т.н.), намиращи се в директорията Windows\System32, могат да се стартират без да се посочва пътя.

& оператор

Ако трябва да посочите пълния път до изпълнимия файл, можете да използвате оператора & (повикване на оператор). Тя ви позволява да изпълните низ от текст, посочен в кавички, като една команда. Например:

&'C:\Program Files\Hello.exe'

Тъй като операторът & не анализира подадената команда, той не може да интерпретира нейните параметри. Следователно допълнителните параметри/аргументи също се предават като текст, в кавички. Например, нека вземем предишната програма и я модифицираме малко, така че да приема желания текст като аргумент:

& 'C:\Program Files\Hello.exe' 'Здравей, свят'

По желание можете да посочите множество аргументи, разделени със запетаи:

& ′C:\Program Files\Hello.exe′ ′Hello,′, ′ world′

За удобство командата и аргументите могат да бъдат поставени в променливи:

$exe = 'C:\Program Files\Hello.exe'
$arg1 = 'Здравей'
$arg2 = 'свят'
& $exe $arg1 $arg2

Е, ако има много аргументи, тогава те могат да бъдат комбинирани с помощта на следната конструкция:

$exe = 'C:\Program Files\Hello.exe'
$allargs = @(′Здравей,′,′свят′)
& $exe $alargs

Извикване на израз

Командлетът Invoke-Expression работи почти по същия начин като оператора & - той взема текстов низ и го изпълнява като команда. Например:

Invoke-Expression -Command 'C:\Windows\Hello.exe'

Той обаче има един голям недостатък, а именно невъзможността за работа с интервали. Например следната команда ще генерира грешка:

Invoke-Expression -Command 'C:\Program Files\Hello.exe'

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

Invoke-Expression -Command ″C:\′Program Files′\Hello.exe″

старт-процес

Кратката команда Start-Process стартира посочения файл като процес, използвайки Започнете.NET клас процес. Например:

Старт-процес -FilePath 'C:\Program Files\Hello.exe'

По подразбиране процесът се изпълнява в отделен прозорец, който се затваря, когато процесът приключи. Можете да промените това поведение с помощта на параметри, така че следната команда ще се изпълни в текущия прозорец:

Старт-процес -FilePath 'C:\Program Files\Hello.exe' -NoNewWindow -Изчакайте

Start-Process също ви позволява да подадете допълнителни аргументи към процеса:

Start-Process -FilePath 'C:\Program Files\Hello.exe' -ArgumentList 'Hello, world' -NoNewWindow -Изчакайте

По подразбиране cmdlet не връща нищо, но можете да използвате параметъра -PassThru, за да го принудите да върне процесен обект. Този обект е много удобен за поставяне в променлива:

$process = Start-Process -FilePath ′C:\Program Files\Hello.exe′ -Wait -PassThru

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

$process.HasExited

$process.ExitTime

или код за изпълнение:

$process.ExitCode

.NET

По принцип класът .NET Process може да се използва директно без cmdlet Start-Process. Например, можете да стартирате процеса с командата:

::Start('C:\Program Files\Hello.exe')

Този метод е доста неудобен и тромав (по мое мнение), но малко по-гъвкав в употреба. Например, нека изпълним нашата програма в текущия прозорец, да й предадем аргументи и да вземем резултата от изпълнението:

$process = New-Object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = ″C:\Program Files\Hello.exe″
$process.StartInfo.Arguments = ″Здравей, свят″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()

$process.StandatdOutput.ReadToEnd()

WMI

Можете да правите почти всичко с WMI, включително стартиране на програма. За това методът Създавайте wmi-клас Win32_Process.Този метод стартира процес на локално или отдалечен компютърчрез RPC. Например, за да стартирате програма локален компютърможете да използвате тази команда:

()″Win32_Process″).Create(′C:\Program Files\Hello.exe′)

И за да се изпълни на отдалечен компютър, командата ще изглежда така:

()″\\remotecomputer\root\cimv2:Win32_Process″).Create(′C:\Program Files\Hello.exe′)

Като алтернатива можете да използвате командата Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

Или с кратката команда Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @(CommandLine=″C:\Program Files\Hello.exe″)

WMI стартира процеса в отделен прозорец и връща обект, съдържащ идентификатора на процеса (ProcessID) и резултата от изпълнението (ReturnValue). ReturnValue може да приема следните стойности:

0 — Успешно завършване
2 - Отказан достъп
3 — Недостатъчни привилегии
8 — Неизвестен отказ
9 - Пътят не е намерен
21 — Невалиден параметър

Invoke-Command

Кратката команда Invoke-Command може да изпълнява команди на локален или отдалечен компютър с помощта на WinRM. Например, за да стартираме нашата програма на локалния компютър, използваме командата:

Invoke-Command -ScriptBlock (″C:\′Програмни файлове′\Hello.exe″)

Ако е необходимо, аргументите могат да бъдат предадени на програмата:

Invoke-Command -ScriptBlock (C:\'Program Files'\Hello.exe ″Hello,world″)

Моля, обърнете внимание, че Invoke-Command не е много приятелски настроен към интервалите, така че трябва да измислите кавички, за да избегнете грешки. Подобни проблеми обаче могат да бъдат избегнати, например чрез комбиниране на използването на cmdlet с оператора &:

Invoke-Command -ScriptBlock (&'C:\Program Files\Hello.exe')

Invoke-Command се използва главно за дистанционно управление, основното му предимство е възможността да работи едновременно на няколко компютъра. Например:

Invoke-Command -ScriptBlock (″C:\'Program Files'\Hello.exe″) -ComputerName SRV1,SRV2,SRV3

$scriptblock = (″C:\'Програмни файлове'\Hello.exe″)
$Компютри = @(′SRV1′,′SRV2′,′SRV3′)
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

По подразбиране cmdlet връща резултата от изпълнението на програмата и ако я стартирате във фонов режим (параметър -AsJob), тя връща обекта Job:

Invoke-Command -ScriptBlock (C:\'Program Files'\Hello.exe) -ComputerName localhost -AsJob -JobName Hello

Invoke-Item

Кратката команда Invoke-Item е предназначена за прилагане към файл за действие по подразбиране. Така че можете да стартирате изпълнимия файл с командата:

Invoke-Item -Path ″C:\Program Files\Hello.exe″

Най-удобно е обаче да използвате Invoke-Item за отваряне на конкретен тип файл. Ето как например отваряме текстов файл:

Invoke-Item -Path ″C:\Files\test.txt″

И така всички текстови файлове в папката:

Invoke-Item -Path ″C:\Files\*.txt″

cmd

И накрая, друг начин за стартиране на програма от PowerShell е използването на cmd shell. Методът е доста ″индиректен″, но въпреки това работи. Следната команда стартира нов екземпляр на cmd, изпълнява указаната програма в него, излиза от cmd и връща резултата:

cmd /c ″C:\Program Files\Hello.exe″

Такова изобилие от начини за стартиране на програмата осигурява PoSh. И всеки от тях е добър за определени ситуации.

Между другото, статията е базирана на PowerShell: Deep Dive and Best Practice. Силно препоръчвам да го прочетете, има много повече.

Здравейте всички! Днес малка бележка по темата, как да отворите powershell като администратор. Позволете ми да ви напомня, че PowerShell е мощен език за програмиране и администриране от Microsoft, всяка година той придобива все повече и повече командлети и функционалност. По същество това е заместител на командния ред на Windows. По-долу ще разгледаме методите, които ви позволяват да го отворите и конфигурирате.
.

Методи за отваряне на модул PowerShell

Powershell се развива много добре и с излизането на Windows 10 вече получи версия 4, но нашата тема е друга. И така, как да отворите powershell? Всичко е просто, ако в Windows XP, тогава нищо. тъй като се доставя отделно, във всички следващи версии идва като вграден компонент. Най-универсалният начин за отваряне на powershell е да натиснете

Win + R и въведете powershell

С натискане на enter се стартира PowerShell конзолата, единственият проблем е, че няма да се отвори от името на администратора. И в резултат на това много команди няма да могат да бъдат изпълнени, по-долу ще разгледаме как да направите това от името на администратора.

Как да отворите Windows powershell като администратор в Windows 8.1 и Windows 7

Можете да отворите Windows powershell чрез start. В Windows 8.1, Windows 2012 R2 отидете на System Tools - Windows и щракнете с десния бутон върху Run as administrator.

В Windows 7 и Windows 2008 R2 изглежда така Старт > Аксесоари > Windows PowerShell

Можете също да създадете пряк път в елемента на задачата и да щракнете с десния бутон върху него и да изберете съответния елемент

би било хубаво PowerShell винаги да се отваря като администратор, нека приложим това. Това се прави във всички версии на Windows по същия начин. Отваряне на контролния панел

Щракнете с десния бутон върху него и изберете свойства. Веднага можете да видите пътя до файла, където се намира в системата.

Щракнете върху бутона "Разширени". Ще видите допълнителни свойства. където трябва да поставите отметка в квадратчето, за да стартирате като администратор.

Всичко е много просто. Сигурен съм, че сега няма да имате въпрос как да отворите Windows powershell. Друго полезно нещо е да промените шрифта в прозореца на Powershell.

Как да отворите PowerShell чрез контекстното меню на бутона "Старт" в Windows 10

Microsoft все повече се фокусира върху командния ред към своя силен език (PowerShell) и това е логично, тъй като неговите възможности за управление операционна система Windows семействата са почти неограничени, ако не и повече от GUI. Започвайки с Windows версии 10 1709, в контекстното меню, PowerShell, замени познатия cmd. Щракнете с десния бутон върху бутона за стартиране в Windows 10 и от контекстно меню, изберете съответния елемент:

  1. Windows PowerShell
  2. Windows PowerShell (администратор) - точно това е режимът с максимални права в Windows 10.

Стартиране на Windows PowerShell с търсене в Windows 10

В Windows 10 и по-стари версии можете да намерите обвивката на PowerShell, като използвате обичайното търсене, има специален раздел за това. Щракнете до бутона Старт, иконата на лупа. Във формата за търсене, която се отваря, въведете думата PowerShell. Ще бъдете претърсени за всички опции, сред които ще намерите черупката. Ако щракнете с десния бутон върху него, можете да го отворите като администратор.

Стартиране на Windows PowerShell с помощта на менюто "Старт" в Windows 10

За да отворите PowerShell shell от менюто "Старт", отворете го и намерете елемента Windows PowerShell, той ще бъде под формата на папка, отворете го и стартирайте подходящата версия.

Ако щракнете с десния бутон, ще можете да стартирате обвивката от името и с администраторски права.

Допълнителни и общи методи за стартиране на Shell

Има и много специфични методи за отваряне на обвивка с мощен език от Microsoft. Най-тромавото е просто да намерите изпълнимия файл и да го стартирате директно от местоположението в системата. Предаваме вашия Windows 10 по пътя:

C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

В резултат на това ще отворите папка с преки пътища, които присъстват в менюто "Старт", можете да ги стартирате.

Можете също така да стартирате оригиналния изпълним файл, който се намира по пътя:

C:\Windows\System32\WindowsPowerShell\v1.0

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

Можете също да стартирате Windows PowerShell от прозорец на командния ред, просто въведете вълшебната дума в него и натиснете Enter.

Е, ще ви напомня и за метода за стартиране на нова задача от конзолната добавка на диспечера на задачите. Отворете "Диспечер на задачите", изберете елемента от менюто "Файл - Стартиране на нова задача"

В прозореца, който се показва, въведете PowerShell.

Е, последният познат ми метод е стартирането на PowerShell, чрез Windows Explorer 10, за да направите това, отворете Explorer, изберете елемента от менюто "Файл - стартирайте Windows PowerShell", ще има и двата режима.

Какво е PowerShell ISE

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

промените на шрифта на powershell много просто отидете в раздела свойства Шрифт, където можете да зададете размера от 5 до 72.

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

Тук настройките на шрифта са малко по-различни, заедно с промяната им се променя и размерът на конзолата.

В раздела Цветове можете да зададете цвета на шрифта в Powershell и самия прозорец. Като го направите черен например като командния ред.

Също така съветвам, ако сте активен конзолен играч, задайте размера на буфера не на 50 команди, а поне на 100.

Благодаря за вниманието. Това са методите за отваряне на конзолата Power Shell в Windows. Материал на сайта

2022 x360ce.ru
Фотография - Информационен портал