Powershell windows 10 как запустить скрипт

Способы запуска скрипта PowerShell, как разрешить запуск неподписанного скрипта и как запустить скрипт PowerShell в фоновом режиме.

PowerShell — это новая командная оболочка для Windows, которая по задумкам Microsoft должна вытеснить и заменить cmd. По-умолчанию, эта оболочка уже идет в составе Windows 7 и выше. Если у вас более старая операционная система или вы просто хотите скачать более свежую версию PowerShell, сделать это можно здесь: https://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx

Как запустить скрипт PowerShell?

Есть несколько различных способов запуска скрипта, ниже приведены основные:

  1. Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:Scriptstest.ps1, или перейти в папку скрипта командой cd C:Scripts и запустить его командой .test.ps1)Оболочку можно найти и запустить множеством способов. Один из способов — через меню «Пуск». Для Windows 7 — нужно зайти во «Все программы» — «Стандартные» — «Windows PowerShell» и запустить оболочку «Windows PowerShell». Для Windows 10 — нужно найти группу на букву «W» и в ней вы найдете «Windows PowerShell».
  2. Запустить «Интегрированную среду сценариев Windows PowerShell ISE» — это программа — среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку «Открыть» или зайти в меню Файл — Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку «Выполнить скрипт».Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell — в меню «Пуск».
  3. Запустить стандартную коммандную строку и в ней написать:
    powershell -file <имя_скрипта> (пример: powershell -file myscript.ps1)

Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл <имя_скрипта>, так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.

Как разрешить выполнение неподписанного скрипта PowerShell?

1. В оболочке PowerShell, перед тем как запускать скрипт, выполнить команду, разрешающую выполнение неподписанных скриптов для текущего сеанса оболочки:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:

powershell -executionpolicy RemoteSigned -file <имя_скрипта>

Оба способа устанавливают политику только для текущего сеанса, при этом, политика безопасности выполнения скриптов PowerShell, прописанная в реестре, не будет изменена и останется прежней. Если вы хотите поменять политику безопасности выполнения скриптов «на постоянно», то используйте такой способ:

3. Разрешить запуск навсегда: запустить оболочку PowerShell от имени «Администратора», затем выполните команду:

Set-ExecutionPolicy RemoteSigned

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

Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass — полное отключение любых запросов и предупреждений.

Как запустить скрипт PowerShell в фоновом режиме?

Для этого достаточно использовать параметр запуска -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Таким образом, чтобы запустить неподписанный скрипт в фоновом режиме, нужно выполнить команду:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file <имя_скрипта>

Так же можно еще при желании добавить -NonInteractive, чтобы скрипт не задавал никаких вопросов. Таким образом, скрипт выполнится незаметно для пользователя. Будmте внимательны, используя такой способ.

Запуск скрипта PowerShell c параметрами

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

powershell -executionpolicy RemoteSigned -file <имя_скрипта> param1 param2 «еще один текстовый параметр»

В самом скрипте вы можете получить эти параметры так:

param ($var1, $var2, $var3)
echo $var1, $var2, $var3

В интегрированной среде PowerShell ISE запустить скрипт с параметрами можно аналогично, используя область команд.

Как запустить скрипт PowerShell с помощью ярлыка?

Осуществить такую задачу можно двумя способами:

  1. Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
  2. Создать ярлык на PowerShell, который можно найти в папке c:WindowsSystem32WindowsPowerShellv<версия> и в свойствах ярлыка в поле «Объект» дописать необходимые параметры.

Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.

Скриптовый язык PowerShell — довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом ;)

Доброго времени суток дорогие читатели. В данной статье мы познакомимся с основами Powershell. Данный язык программирования используется во всех ОС Microsoft начиная с Windows XP SP3. Писать Powershell скрипты должен уметь каждый уважающий себя системный администратор windows.

Все команды в Powershell как правило используются в форме командлетов. Все командлеты это специализированные классы .NET Framework и .NET Core (используется в PowerShell Core 6 и выше).

Powershell класса .NET Framework это версии с 1 по 5.1 а Powershell .NET Core это версия 6 и выше (на данный момент 7.0). По заявлению Microsoft новых функций в Powershell 5.1 (.NET Framework) вносить уже не будут. Однако 7 версия еще не полностью поддерживает все модули предыдущих версий. Но судя по всему Microsoft стремится к этому и скоро версия Core будет единственной. В общем cmd отходит в прошлое и теперь без Powershell никуда. Давайте приступим к практике. Так всегда лучше запоминается материал.

Запуск Powershell

На примере Windows 10 Powershell можно запустить просто нажав правой кнопкой мыши на меню пуск.

Также нижняя строчка позволяет запустить Powershell с повышенными правами администратора.

Еще можно воспользоваться поиском в WIndows 10 и ввести название powershell

Как видно на картинке выше нашелся не только Powershell но и Powershell ISE. Консоль powershell удобна если требуется запустить последовательно не больше одной команды. Либо несколько команд в конвейере. Однако в случае написания полноценных скриптов лучше использовать Powershell ISE. Это бесплатная среда разработки сценариев на языке Powershell поставляется вместе с ОС Windows.

Окно Powershell
Окно Powershell ISE

Сразу после запуска консоли рекомендую запустить командлет Get-Help — встроенная справка по всем командлетам, аналог man в Linux.

Get-Help

Видим что консоль предлагает обновить встроенную помощь. Нажимаем Y и соглашаемся.

Командлеты

Командлеты — это название команд в Powershell. Каждый командлет реализует заложенную в него функциональность. Как правило наименование командлета состоит из пары: глагол-существительное. Например: Get-Help — получить помощь. Обычно Get используется чтобы получить информация, Set — внести изменение, New — создать новый объект, политику и т.п. и Remove -удалить объект, политику и т.п.

Командлеты не чувствительны к регистру. Написать Get или get не важно, powershell воспримет эти команды одинаково.

Чтобы получить список всех доступных командлетов необходимо использовать Get-Command

Get-Command

Для получения справки по любому командлету напишите Get-Help имя-комндлета. Например

Давайте представим что нам необходимо вывести список командлетов для управления процессами. Воспользуемся Get-Command и укажем ему параметры для более точного поиска.

Get-Command *Process*

И вот мы видим список командлетов позволяющих управлять процессами: Get-Process — список всех запущенных процессов, Start-Process — запустить указанный процесс, Stop-Process— остановить указанный процесс, Wait-Process — ожидать указанный процесс. Как видно из названий командлетов можно легко понять для чего каждый служит.

Используя командлет Get-Help можно получить справку по любому командлету.

PS C:WINDOWSsystem32> Get-Help Get-Process

ИМЯ
    Get-Process

ОПИСАНИЕ
    Gets the processes that are running on the local computer or a remote computer.


СИНТАКСИС
    Get-Process [[-Name] <System.String[]>] [-ComputerName <System.String[]>] [-FileVersionInfo] [-Module] [<CommonParameters>]

    Get-Process [-ComputerName <System.String[]>] [-FileVersionInfo] -Id <System.Int32[]> [-Module] [<CommonParameters>]

    Get-Process [-ComputerName <System.String[]>] [-FileVersionInfo] -InputObject <System.Diagnostics.Process[]> [-Module] [<Com
    monParameters>]

    Get-Process -Id <System.Int32[]> -IncludeUserName [<CommonParameters>]

    Get-Process [[-Name] <System.String[]>] -IncludeUserName [<CommonParameters>]

    Get-Process -IncludeUserName -InputObject <System.Diagnostics.Process[]> [<CommonParameters>]


ОПИСАНИЕ
    The `Get-Process` cmdlet gets the processes on a local or remote computer.

    Without parameters, this cmdlet gets all of the processes on the local computer. You can also specify a particular process b
    y process name or process ID (PID) or pass a process object through the pipeline to this cmdlet.

    By default, this cmdlet returns a process object that has detailed information about the process and supports methods that l
    et you start and stop the process. You can also use the parameters of the `Get-Process` cmdlet to get file version informati
    on for the program that runs in the process and to get the modules that the process loaded.


ССЫЛКИ ПО ТЕМЕ
    Online Version: https://docs.microsoft.com/powershell/module/microsoft.powershell.management/get-process?view=powershell-5.1
    &WT.mc_id=ps-gethelp
    Debug-Process
    Get-Process
    Start-Process
    Stop-Process
    Wait-Process

ЗАМЕЧАНИЯ
    Для просмотра примеров введите: "get-help Get-Process -examples".
    Для получения дополнительных сведений введите: "get-help Get-Process -detailed".
    Для получения технических сведений введите: "get-help Get-Process -full".
    Для получения справки в Интернете введите: "get-help Get-Process -online"

При использовании командлета есть возможность указать несколько параметров при запуске. Первый параметр можно не называть. Выше я писал Get-Command *Process* где указал поиск командлетов со словом Process. Однако я не написал параметр -Name, хотя именно его и указал. Если полностью то поиск по имени выглядит так: Get-Command -Name *Process* . В случае отсутствия непосредственного указания -Name Powershell принимает в качестве имени введенное слово *Process*.

Давайте выведем список процессов с именем WhatsApp

Get-Process -Name WhatsApp -IncludeUserName
Get-Process

Мы вывели все процессы с именем WhatsApp и добавили в вывод дополнительный параметр -IncludeUserName, что позволило нам увидеть кем запущен процесс.

Алиасы

Алиасы в Powershell это по сути более короткие названия командлетов. Т.е. любому командлету можно присвоить свое короткое имя (alias). Например алиасом для командлета Get-Process является gps. Согласитесь куда проще и быстрее написать gps чем Get-Process.

Список всех alias можно получить используя командлет Get-Alias

PS C:WINDOWSsystem32> get-alias

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           asnp -> Add-PSSnapin
Alias           cat -> Get-Content
Alias           cd -> Set-Location
Alias           CFS -> ConvertFrom-String                          3.1.0.0    Microsoft.PowerShell.Utility
Alias           chdir -> Set-Location
Alias           clc -> Clear-Content
Alias           clear -> Clear-Host
Alias           clhy -> Clear-History
Alias           cli -> Clear-Item
Alias           clp -> Clear-ItemProperty
Alias           cls -> Clear-Host
Alias           clv -> Clear-Variable
Alias           cnsn -> Connect-PSSession
Alias           compare -> Compare-Object
Alias           copy -> Copy-Item
Alias           cp -> Copy-Item
Alias           cpi -> Copy-Item
Alias           cpp -> Copy-ItemProperty
Alias           curl -> Invoke-WebRequest
Alias           cvpa -> Convert-Path
Alias           dbp -> Disable-PSBreakpoint
Alias           del -> Remove-Item
Alias           diff -> Compare-Object
Alias           dir -> Get-ChildItem
Alias           dnsn -> Disconnect-PSSession
Alias           ebp -> Enable-PSBreakpoint
Alias           echo -> Write-Output
Alias           epal -> Export-Alias
Alias           epcsv -> Export-Csv
Alias           epsn -> Export-PSSession
Alias           erase -> Remove-Item
Alias           etsn -> Enter-PSSession
Alias           exsn -> Exit-PSSession
Alias           fc -> Format-Custom
Alias           fhx -> Format-Hex                                  3.1.0.0    Microsoft.PowerShell.Utility
Alias           fl -> Format-List
Alias           foreach -> ForEach-Object
Alias           ft -> Format-Table
Alias           fw -> Format-Wide
Alias           gal -> Get-Alias
Alias           gbp -> Get-PSBreakpoint
Alias           gc -> Get-Content
Alias           gcb -> Get-Clipboard                               3.1.0.0    Microsoft.PowerShell.Management
Alias           gci -> Get-ChildItem
Alias           gcm -> Get-Command
Alias           gcs -> Get-PSCallStack
Alias           gdr -> Get-PSDrive
Alias           ghy -> Get-History
Alias           gi -> Get-Item
Alias           gin -> Get-ComputerInfo                            3.1.0.0    Microsoft.PowerShell.Management
Alias           gjb -> Get-Job
Alias           gl -> Get-Location
Alias           gm -> Get-Member
Alias           gmo -> Get-Module
Alias           gp -> Get-ItemProperty
Alias           gps -> Get-Process
Alias           gpv -> Get-ItemPropertyValue
Alias           group -> Group-Object
Alias           gsn -> Get-PSSession
Alias           gsnp -> Get-PSSnapin
Alias           gsv -> Get-Service
Alias           gtz -> Get-TimeZone                                3.1.0.0    Microsoft.PowerShell.Management
Alias           gu -> Get-Unique
Alias           gv -> Get-Variable
Alias           gwmi -> Get-WmiObject
Alias           h -> Get-History
Alias           history -> Get-History
Alias           icm -> Invoke-Command
Alias           iex -> Invoke-Expression
Alias           ihy -> Invoke-History
Alias           ii -> Invoke-Item
Alias           ipal -> Import-Alias
Alias           ipcsv -> Import-Csv
Alias           ipmo -> Import-Module
Alias           ipsn -> Import-PSSession
Alias           irm -> Invoke-RestMethod
Alias           ise -> powershell_ise.exe
Alias           iwmi -> Invoke-WmiMethod
Alias           iwr -> Invoke-WebRequest
Alias           kill -> Stop-Process
Alias           lp -> Out-Printer
Alias           ls -> Get-ChildItem
Alias           man -> help
Alias           md -> mkdir
Alias           measure -> Measure-Object
Alias           mi -> Move-Item
Alias           mount -> New-PSDrive
Alias           move -> Move-Item
Alias           mp -> Move-ItemProperty
Alias           mv -> Move-Item
Alias           nal -> New-Alias
Alias           ndr -> New-PSDrive
Alias           ni -> New-Item
Alias           nmo -> New-Module
Alias           npssc -> New-PSSessionConfigurationFile
Alias           nsn -> New-PSSession
Alias           nv -> New-Variable
Alias           ogv -> Out-GridView
Alias           oh -> Out-Host
Alias           popd -> Pop-Location
Alias           ps -> Get-Process
Alias           pushd -> Push-Location
Alias           pwd -> Get-Location
Alias           r -> Invoke-History
Alias           rbp -> Remove-PSBreakpoint
Alias           rcjb -> Receive-Job
Alias           rcsn -> Receive-PSSession
Alias           rd -> Remove-Item
Alias           rdr -> Remove-PSDrive
Alias           ren -> Rename-Item
Alias           ri -> Remove-Item
Alias           rjb -> Remove-Job
Alias           rm -> Remove-Item
Alias           rmdir -> Remove-Item
Alias           rmo -> Remove-Module
Alias           rni -> Rename-Item
Alias           rnp -> Rename-ItemProperty
Alias           rp -> Remove-ItemProperty
Alias           rsn -> Remove-PSSession
Alias           rsnp -> Remove-PSSnapin
Alias           rujb -> Resume-Job
Alias           rv -> Remove-Variable
Alias           rvpa -> Resolve-Path
Alias           rwmi -> Remove-WmiObject
Alias           sajb -> Start-Job
Alias           sal -> Set-Alias
Alias           saps -> Start-Process
Alias           sasv -> Start-Service
Alias           sbp -> Set-PSBreakpoint
Alias           sc -> Set-Content
Alias           scb -> Set-Clipboard                               3.1.0.0    Microsoft.PowerShell.Management
Alias           select -> Select-Object
Alias           set -> Set-Variable
Alias           shcm -> Show-Command
Alias           si -> Set-Item
Alias           sl -> Set-Location
Alias           sleep -> Start-Sleep
Alias           sls -> Select-String
Alias           sort -> Sort-Object
Alias           sp -> Set-ItemProperty
Alias           spjb -> Stop-Job
Alias           spps -> Stop-Process
Alias           spsv -> Stop-Service
Alias           start -> Start-Process
Alias           stz -> Set-TimeZone                                3.1.0.0    Microsoft.PowerShell.Management
Alias           sujb -> Suspend-Job
Alias           sv -> Set-Variable
Alias           swmi -> Set-WmiInstance
Alias           tee -> Tee-Object
Alias           trcm -> Trace-Command
Alias           type -> Get-Content
Alias           wget -> Invoke-WebRequest
Alias           where -> Where-Object
Alias           wjb -> Wait-Job
Alias           write -> Write-Output

Как видно из списка для alias использованы аналогичные по значению команды из Linux: ls, man, mount, md, kill и т.п. Видимо чтобы линуксоиду было по привычнее 🙂 Можно создать свой alias используя командлет New-Alias

Конвейер

Конвейер используется для передачи выходных данных командлета идущего вначале во входные данные командлета следующего за ним. Ничего непонятно? 🙂 Давайте на примерах, так всегда яснее.

Возьмем уже известный нам командлет Get-Process, посмотрим на его вывод

Get-Process

Как по мне многовато лишних столбцов. Мне эта информация не нужна, поэтому я выберу только нужные данные. Для таких целей служит командлет Select-Object. Давайте используем его в конвейере.

Get-Process|Select-Object ID,CPU,ProcessName
Get-Process|Sort-Object

Как вы уже наверно догадались конвейер обозначается знаком | и идет сразу следом за командлетом. И так данные по конвейеру можно передавать и дальше другим командлетам. Итак я передал выходные данные (список запущенных процессов) на вход командлета Select-Object. Который в свою очередь выбрал данные по 3 столбцам ID, CPU, ProcessName. Теперь можно передать эти данные дальше. Например выгрузить в текстовый файл

Get-Process|Select-Object ID,CPU,ProcessName|Out-File C:TMPout.txt

Просто не правда ли? У нас конвейер из трех командлетов, на выходе которого получаем текстовый файл со списком запущенных процессов и необходимой информацией по ним.

Структура объектов

В Powershell объекты играют самую важную роль. От типа объекта зависит что именно с ним можно сделать. Узнать тип объекта и вывести список всех его элементов позволяет команда Get-Member

Get-Process|get-Member

Вот далеко не полный список элементов командлета Get-Process. В данному случае тип данных это System.Diagnostics.Process

Давайте посмотрим тип данных у новой переменной

$new="Test"
$new|Get-Member
Get-Member String

В данном случае тип данных System.String т.е. строка. Что вполне логично. А теперь посмотрите что можно сделать с этой строкой с учетом указанных выше параметров.

Get-Member methods

Как видно на картинке выше мы заключаем нашу тестовую переменную $new в скобки и после них пишем точку и указываем метод. В примере я использовал три метода:

  • ToUpper — перевод всех букв в строке в верхний регистр
  • ToLower — перевод всех букв в строке в нижний регистр
  • Length — подсчитать количество символов в строке

Это всего лишь небольшой пример что можно сделать с параметрами объекта. Чаще используйте Get-Member и вы откроете для себя безграничные возможности манипуляции над объектами.

Скрипты Powershell

В самом начале статьи указал на встроенный инструмент Powershell ISE. Давайте запустим его и создадим свой первый скрипт. Кстати скрипты сохраняются в файлах с расширением ps1

Скрипт будет запускать блокнот, далее выполняется проверка если блокнот запущен выводится сообщение об этом и после блокнот закрывается. Если блокнот не запущен то выводится соответствующее сообщение об этом. На самом деле блокнот будет всегда запущен, т.к. мы вначале скрипта написали Start-Process notepad

Start-Process notepad
$a=Get-Process notepad
if ($a.ProcessName -like "Notepad")
{
Write-Host "Блокнот запущен, давайте его закроем"
Stop-Process -name notepad
}
else 
{
Write-Host "Блокнот не запущен, что поделать"
}
Powershell скрипты

В этом скрипте я использовал цикл if else. О циклах будет подробнее в следующей статье. Итак давайте сохраним скрипт и выполним его.

В ответ мы получим такую ошибку:

Невозможно загрузить файл, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см.
 about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=1351
70.
    + CategoryInfo          : Ошибка безопасности: (:) [], ParentContainsError 
   RecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

Все верно, изначально в WIndows запрещено выполнять скрипты Powershell. Это сделано для повышения безопасности системы. Для включения возможности запуска скриптов Powershell необходимо запустить Powershell от Администратора и ввести командлет Set-ExecutionPolicy с одним из параметров:

  • Restricted — политика по умолчанию. Выполнение всех скриптов запрещено
  • RemoteSigned — разрешено запускать собственные скрипты и подписанные доверенным разработчиком
  • AllSigned — разрешено запускать скрипты, подписанные доверенным разработчиком. Каждый раз перед запуском такого скрипта PowerShell будет запрашивать подтверждение
  • Unrestricted — в системе разрешается запускать любые скрипты

Если вы полностью уверены в запускаемых скриптах можете поставить Unrestricted. Давайте так и сделаем

Set-ExecutionPolicy -Unrestricted
Set-ExecutionPolicy

Будет предупреждение по безопасности, соглашаемся нажав Y

Можем посмотреть текущую настройку политики безопасности при помощи командлета Get-ExecutionPolicy

Get-ExecutionPolicy

В данной статье мы рассмотрели основы чтобы подготовиться писать скрипты Powershell. В следующих статьях мы более подробно изучим циклы, массивы, функции, работу со строками и много другое. Кстати вот раздел посвященный Powershell. Там много всего интересного 😉

Рекомендую к прочтению:
  • Переменные
  • Операторы сравнения
  • Операторы условий
  • Циклы
Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.

В Windows 10 PowerShell — это инструмент, предназначенный для запуска команд и сценариев для изменения настроек, автоматизации задач и других действий. В некотором смысле это похоже на командную строку. Однако PowerShell — это более функциональный интерфейс командной строки (CLI), который предлагает более обширный набор инструментов, а также большую гибкость и контроль. Кроме того, в отличие от командной строки, PowerShell доступен на разных платформах, включая Windows, macOS и Linux.

Сценарий — это набор инструкций, сохраненных в текстовом файле (со специальным расширением «.ps1»), которые PowerShell понимает и последовательно выполняет для выполнения различных действий.

Единственное предостережение заключается в том, что протокол безопасности по умолчанию всегда блокирует запуск скриптов на вашем компьютере. Это означает, что при двойном щелчке по файлу «.ps1» в Windows 10 ничего не произойдет, и если вы попытаетесь запустить скрипт в PowerShell, вы увидите «невозможно загрузить, потому что запуск скриптов отключен в этой системе». сообщение об ошибке. Однако запуск скриптов на ноутбуке или настольном компьютере невозможен. Вам нужно только включить правильную политику выполнения.

В этом руководстве по Windows 10 мы покажем вам, как успешно написать и запустить ваш первый файл сценария в PowerShell с помощью Visual Studio Code, Блокнота и консоли интегрированной среды сценариев PowerShell (ISE).

Вы можете создавать файлы сценариев PowerShell, используя практически любой текстовый редактор или устаревшую консоль ISE. Однако предпочтительным вариантом (спасибо, @JotaKa, за совет) для написания скриптов является использование редактора кода Visual Studio с расширением PowerShell.

Создайте скрипт с помощью Visual Studio Code

Visual Studio Code (VS Code) — это бесплатный и расширяемый кроссплатформенный редактор кода, позволяющий редактировать практически любой язык программирования. А при добавлении расширения PowerShell вы получаете возможность интерактивного редактирования сценариев даже с поддержкой IntelliSense (дополнение кода).

Приложение PowerShell ISE по-прежнему будет доступно, но Visual Studio Code с расширением PowerShell станет новым интерфейсом по умолчанию. Кроме того, учтите, что устаревший опыт не получит никаких новых функций и не поддерживает выпуски PowerShell 7 или более поздних версий.

Установите код Visual Studio

Чтобы установить Visual Basic Code в Windows 10, выполните следующие действия:

  1. Открыть страницу загрузки Visual Studio.
  2. Нажмите кнопку Windows, чтобы загрузить программу установки.

    Загрузка кода Visual Studio

  3. Дважды щелкните программу установки, чтобы начать процесс установки.
  4. Подтвердите условия соглашения.
  5. Нажмите кнопку «Далее».

    Настройка VS-кода

  6. Нажмите кнопку Далее еще раз.
  7. Нажмите кнопку Далее еще раз.
  8. При необходимости подтвердите дополнительные задачи.

    Дополнительные настройки кода Visual Studio

  9. Нажмите кнопку «Далее».
  10. Нажмите кнопку Установить.
  11. Нажмите кнопку Готово.

Выполнив эти шаги, вы можете продолжить установку расширения PowerShell.

Установите расширение PowerShell

Чтобы установить расширение PowerShell в VS Code, выполните следующие действия:

  1. Откройте код VS.
  2. Перейдите на вкладку «Расширения» (Ctrl + Shift + X) на левой панели.
  3. Найдите PowerShell и выберите лучший результат.
  4. Нажмите кнопку Установить.

    VS Code устанавливает PowerShell

  5. Нажмите кнопку «Доверять рабочей области и установить».

После выполнения этих шагов вы можете приступить к написанию сценариев PowerShell с помощью Visual Studio Code в Windows 10.

Создайте сценарий PowerShell с помощью кода Visual Studio.

Чтобы создать сценарий с помощью кода Visual Basic, выполните следующие действия.

  1. Откройте код VS.
  2. Щелкните меню «Файл» и выберите параметр «Новый файл».
  3. Щелкните меню «Файл» и выберите параметр «Сохранить как».

    VS Code создает новый файл ps1

  4. В поле «Имя файла» укажите имя файла с расширением .ps1 — например: first_script.ps1.
  5. Нажмите кнопку Сохранить.
  6. Напишите новый или вставьте скрипт, который хотите запустить, например:

    Write-Host «Поздравляем! Ваш первый скрипт успешно выполнен»

    Краткое примечание: приведенный выше скрипт выведет на экран фразу «Поздравляем! Ваш первый скрипт успешно выполнен».

  7. (Необязательно) Нажмите кнопку «Выполнить» в правом верхнем углу (или нажмите клавишу F5), чтобы запустить скрипт.

    Запустите скрипт PowerShell в коде Visual Studio.

  8. Щелкните меню «Файл».
  9. Нажмите «Сохранить».

Создайте сценарий PowerShell с помощью Блокнота

Чтобы создать сценарий PowerShell с помощью редактора «Блокнот» в Windows 10, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите Блокнот и щелкните верхний результат, чтобы открыть приложение.
  3. Напишите новый или вставьте свой скрипт в текстовый файл — например:

    Write-Host «Поздравляем! Ваш первый скрипт успешно выполнен»

    Скрипт блокнота PowerShell

  4. Щелкните меню «Файл».
  5. Выберите параметр «Сохранить как».
  6. Подтвердите описательное имя сценария, например, first_script.ps1.

    Файл сценария Notepad ps1 Powershell

  7. Нажмите кнопку Сохранить.

Создание сценария PowerShell с интегрированной средой сценариев

Кроме того, вы можете использовать встроенную консоль PowerShell ISE для кодирования сценариев в Windows 10.

Интегрированная среда сценариев — это расширенный инструмент, но вы можете начать работу, выполнив следующие действия:

  1. Откройте Пуск.
  2. Найдите Windows PowerShell ISE, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».
  3. Щелкните меню «Файл».
  4. Выберите параметр «Создать», чтобы создать новый пустой файл .ps1.

    PowerShell создает файл PS1 с помощью ISE

  5. Напишите новый или вставьте скрипт, который хотите запустить, например:

    Write-Host «Поздравляем! Ваш первый скрипт успешно выполнен»

    Скрипт PowerShell ISE

  6. Щелкните меню «Файл».
  7. Нажмите «Сохранить».
  8. Введите имя сценария, например, first_script.ps1.

    Сценарий PowerShell ISE Ps1 Сохранить

  9. Выберите папку для хранения файла сценария.
  10. Нажмите кнопку Сохранить.
  11. (Необязательно) Нажмите кнопку «Выполнить» в правом верхнем углу (или нажмите клавишу F5), чтобы запустить скрипт.

После выполнения этих шагов с помощью Блокнота, Visual Studio Code или PowerShell ISE сценарий будет готов к запуску, но с системными настройками по умолчанию произойдет сбой. Причина в том, что параметры PowerShell по умолчанию настроены на блокировку выполнения любого скрипта. (Единственным исключением является запуск содержимого скрипта в Visual Studio Code или PowerShell ISE.)

Как запустить файл сценария PowerShell в Windows 10

В Windows 10 для запуска файла сценария с помощью консоли PowerShell необходимо изменить политику выполнения.

Чтобы изменить политику выполнения для запуска сценариев PowerShell в Windows 10, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».
  3. Введите следующую команду, чтобы разрешить запуск скриптов, и нажмите Enter:

    Set-ExecutionPolicy RemoteSigned

  4. Введите A и нажмите Enter (если применимо).
  5. Введите следующую команду для запуска скрипта и нажмите Enter:

    & «C:PATHTOSCRIPTfirst_script.ps1»

    В приведенной выше команде измените «PATHTOSCRIPT» на расположение вашего скрипта.

    Например, эта команда запускает скрипт, хранящийся в папке «Загрузки»:

    & «C:Пользователиимя пользователяЗагрузкиfirst_script.ps1»

    Запустите скрипт PowerShell в Windows 10

После того, как вы выполните эти шаги, скрипт запустится, и если он был написан правильно, вы должны без проблем увидеть его вывод на экране.

В Windows 10 PowerShell включает четыре политики выполнения:

  • Restricted — останавливает запуск любого скрипта.
  • RemoteSigned — разрешает сценарии, созданные на устройстве, но сценарии, созданные на другом компьютере, не будут выполняться, если они не содержат подпись доверенного издателя.
  • AllSigned — будут выполняться все сценарии, но только в том случае, если их подписал доверенный издатель.
  • Unrestricted — Запускает любой скрипт без каких-либо ограничений.

Вы должны разрешать локальные сценарии только тогда, когда вам нужно запустить сценарий из надежного источника. Если вы не планируете запускать сценарии регулярно, рекомендуется восстановить настройки по умолчанию, чтобы заблокировать ненадежные сценарии, используя те же инструкции, описанные выше, но на шаге 4 используйте команду Set-ExecutionPolicy Restricted.

Дополнительные ресурсы Windows

Для получения дополнительных полезных статей, обзоров и ответов на распространенные вопросы о Windows 10 и Windows 11 посетите следующие ресурсы:

Windows 11 с поддержкой двух экранов теперь работает на Surface Duo

Становимся ближе

Windows 11 с поддержкой двух экранов теперь работает на Surface Duo

Совершив значительный прорыв, разработчик Гюстав Монс сумел заставить оба экрана работать в Windows 11 на оригинальном Surface Duo. Хотя сенсорные экраны в настоящее время не работают, они, вероятно, будут решены в ближайшие недели. Вот все, что нового появилось в этом забавном проекте GitHub.

  • Partition Wizard

  • Partition Magic

  • How to Run PowerShell Script on Windows 10? [Full Guide]

By Ariel | Follow |
Last Updated December 05, 2019

The PowerShell script is a collection of commands that can be used to change system settings and do other tasks. However, many users don’t know how to run PowerShell script on Windows 10. Don’t worry! MiniTool will walk you through a full guide to do that.

Windows PowerShell is a command-line shell that enables you to run commands in the scripting environment. If you want to run a PowerShell script, you need to create a script file first. PowerShell script is saved in a text file by using the .ps1 extension.

However, you may receive the error message “cannot be loaded because running script is disabled on this system” when double-clicking the .ps1 file. To run PowerShell script successfully, you can keep reading the following context.

How to Create PowerShell Script on Windows 10

First of all, you need to create PowerShell scripts files. It can be created by using the Notepad. Alternatively, you can use ISE (Integrated Scripting Environment) that is a built-in tool in the preinstalled environment. Here’s how:

Method 1. Create a PowerShell Script File with Notepad

Step 1. Type notepad in the search box and click the Notepad on the top result.

open the notepad

Step 2. Now you can write a new script on the context file. For example, copy and paste Write-Host «Congratulations! Your first script executed successfully» into the context file.

type the script in the Notepad

Step 3. Then click on the File menu on the upper left corner and click the Save as button.

click on the Save as button

Step 4. Select a location where t you want to save the file and type a new name for the script file followed by the end of .ps1 such as first_script.ps1. After that, click on the Save button.

type a name for the script and click on the Save button

Method 2. Create a PowerShell Script File with Integrated Scripting Environment

In addition, you can use the Windows built-in tool ISE to create a script file. This method is relatively complex, please read the following part carefully.

Step 1. Type Windows PowerShell ISE in the search box, and then right-click the top result and select Run as administrator option.

run Windows PowerShell ISE as an administrator

Step 2. Press Ctrl + N keys on the keyboard to create a new empty .ps1 file.

Step 3. In the new empty file, type or paste a new script file that you want to run. For example, we write Write-Host «Congratulations! Your first script executed successfully».

create a new script file

Step 4. Press Ctrl + S keys on the keyboard to save the script file.

Step 5. In the file explorer, select a location that you want to save in and rename it followed by the end of .ps1. After that, click on the Save button.

After you create the script file using Notepad or PowerShell ISE, it should be ready to run. However, it will fail to work by default, because the default PowerShell settings will always prevent any script from executing.

How to Run PowerShell Script on Windows 10

Now, you may wonder how to run a PowerShell script on Windows 10. To run PowerShell scripts on Windows 10, you need to change the execution policy. Here’s how to do that:

Step 1. Type PowerShell in the search box, and then right-click the top result and select Run as administrator option.

run Windows PowerShell as an administrator

Step 2. Type the Set-ExecutionPolicy RemoteSigned command in the window and press Enter.

Step 3. Type A and hit Enter.

Tip: RemoteSigned is an execution policy that enables the script to run on the computer. However, if you create the script on another computer, it won’t run unless the script contains a signature of a trusted publisher.

change the execution policy

Step 4. Then type & «C:PATHTOSCRIPTfirst_script.ps1 command and hit Enter to run the PowerShell scripts.

Note: In the command, replace the PATHTOSCRIPT with the actual location where you saved the script.

After you complete all the above steps, you should run PowerShell scripts smoothly and see the outputs.

About The Author

Ariel

Position: Columnist

Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues. 

  • Partition Wizard

  • Partition Magic

  • How to Run PowerShell Script on Windows 10? [Full Guide]

By Ariel | Follow |
Last Updated December 05, 2019

The PowerShell script is a collection of commands that can be used to change system settings and do other tasks. However, many users don’t know how to run PowerShell script on Windows 10. Don’t worry! MiniTool will walk you through a full guide to do that.

Windows PowerShell is a command-line shell that enables you to run commands in the scripting environment. If you want to run a PowerShell script, you need to create a script file first. PowerShell script is saved in a text file by using the .ps1 extension.

However, you may receive the error message “cannot be loaded because running script is disabled on this system” when double-clicking the .ps1 file. To run PowerShell script successfully, you can keep reading the following context.

How to Create PowerShell Script on Windows 10

First of all, you need to create PowerShell scripts files. It can be created by using the Notepad. Alternatively, you can use ISE (Integrated Scripting Environment) that is a built-in tool in the preinstalled environment. Here’s how:

Method 1. Create a PowerShell Script File with Notepad

Step 1. Type notepad in the search box and click the Notepad on the top result.

open the notepad

Step 2. Now you can write a new script on the context file. For example, copy and paste Write-Host «Congratulations! Your first script executed successfully» into the context file.

type the script in the Notepad

Step 3. Then click on the File menu on the upper left corner and click the Save as button.

click on the Save as button

Step 4. Select a location where t you want to save the file and type a new name for the script file followed by the end of .ps1 such as first_script.ps1. After that, click on the Save button.

type a name for the script and click on the Save button

Method 2. Create a PowerShell Script File with Integrated Scripting Environment

In addition, you can use the Windows built-in tool ISE to create a script file. This method is relatively complex, please read the following part carefully.

Step 1. Type Windows PowerShell ISE in the search box, and then right-click the top result and select Run as administrator option.

run Windows PowerShell ISE as an administrator

Step 2. Press Ctrl + N keys on the keyboard to create a new empty .ps1 file.

Step 3. In the new empty file, type or paste a new script file that you want to run. For example, we write Write-Host «Congratulations! Your first script executed successfully».

create a new script file

Step 4. Press Ctrl + S keys on the keyboard to save the script file.

Step 5. In the file explorer, select a location that you want to save in and rename it followed by the end of .ps1. After that, click on the Save button.

After you create the script file using Notepad or PowerShell ISE, it should be ready to run. However, it will fail to work by default, because the default PowerShell settings will always prevent any script from executing.

How to Run PowerShell Script on Windows 10

Now, you may wonder how to run a PowerShell script on Windows 10. To run PowerShell scripts on Windows 10, you need to change the execution policy. Here’s how to do that:

Step 1. Type PowerShell in the search box, and then right-click the top result and select Run as administrator option.

run Windows PowerShell as an administrator

Step 2. Type the Set-ExecutionPolicy RemoteSigned command in the window and press Enter.

Step 3. Type A and hit Enter.

Tip: RemoteSigned is an execution policy that enables the script to run on the computer. However, if you create the script on another computer, it won’t run unless the script contains a signature of a trusted publisher.

change the execution policy

Step 4. Then type & «C:PATHTOSCRIPTfirst_script.ps1 command and hit Enter to run the PowerShell scripts.

Note: In the command, replace the PATHTOSCRIPT with the actual location where you saved the script.

After you complete all the above steps, you should run PowerShell scripts smoothly and see the outputs.

About The Author

Ariel

Position: Columnist

Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues. 

PowerShell script
PowerShell script
(Image credit: Future)

On Windows 10, PowerShell lets you run commands and scripts to automate tasks and change settings on your computer, similar to Command Prompt. However, PowerShell is a more powerful command-line interface (CLI) that offers a more extensive set of tools and more flexibility. In addition, unlike Command Prompt, PowerShell is available across platforms, including Windows, Linux, and macOS.

Regardless of the platform, a script is a collection of instructions written to a text file (using the special «.ps1» extension) that PowerShell understands and executes in sequence to run different actions.

The only problem is that the default security protocol prevents scripts from running on your computer. This means that when double-clicking a «.ps1» file, Windows 10 won’t do anything, and if you try to run the script within PowerShell, you’ll see the «cannot be loaded because running scripts is disabled on this system» error message. However, running scripts on your computer is not impossible. You only need to enable the correct execution policy.

This guide will walk you through the steps to write and run your first script file on PowerShell using Visual Studio Code, Notepad, and the PowerShell Integrated Scripting Environment (ISE) console.

How to create PowerShell script file on Windows 10

You can create PowerShell script files using virtually any text editor or the legacy ISE console. However, the Visual Studio Code editor is the preferred option for writing scripts whenever possible.

Create a script with VS Code

Visual Studio Code (VS Code) is a free and extensible cross-platform code editor to edit virtually any programming language. And when adding the PowerShell extension, you get an interactive scripting editing experience, which even comes with  IntelliSense (code-completion) support.

You can still use the PowerShell ISE application, but Visual Studio Code with the PowerShell extension is meant to be the new default experience. Also, consider that the legacy experience won’t get any new features and doesn’t support PowerShell 7.x or higher releases.

Install VS Code

To install Visual Basic Code on Windows 10, use these steps:

  1. Open the Visual Studio Download page.
  2. Click the Windows button to download the installer.

Visual Studio Code download

(Image credit: Future)
  1. Double-click the installer to begin the process.
  2. Select the «I accept the agreement» option.
  3. Click the Next button.
  4. Confirm additional tasks as necessary.
  5. Click the Next button again.

VS Code setup settings

(Image credit: Future)
  1. Click the Install button.
  2. Click the Finish button.

Once you complete the steps, you can proceed to install the PowerShell extension.

Install PowerShell extension

To install the PowerShell extension on VS Code, use these steps:

  1. Open VS Code.
  2. Click the Extensions tab (Ctrl + Shift + X) from the left pane.
  3. Search for PowerShell and select the top result.
  4. Click the Install button.

VS Code install PowerShell

(Image credit: Future)
  1. Click the «Trust Workspace & Install» button.

VS Code trust workspace and install

(Image credit: Future)

After you complete the steps, you can start writing PowerShell scripts using Visual Studio Code on Windows 10.

Create PowerShell script with Visual Studio Code

To create a script with Visual Basic Code on Windows 10, use these steps:

  1. Open VS Code.
  2. Click the File menu and select the New File option.
  3. Click the File menu and select the Save As option.

VS Code create new ps1 file

(Image credit: Future)
  1. In the «File name» field, specify a name for the file with the .ps1 extension — for example, first_script.ps1.
  2. Click the Save button.
  3. Write a new or paste the script you want to run — for example, Write-Host «Congratulations! Your first script executed successfully»
  • Quick note: The above script will result in an output on the screen that says: «Congratulations! Your first script executed successfully.»
  1. (Optional) Click the Run button on the top-right side (or press the F5 key) to run the script.

Run PowerShell script on Visual Studio Code

(Image credit: Future)
  1. Click the File menu.
  2. Click the Save option.

Create PowerShell script with Notepad

To create a PowerShell script with Notepad on Windows 10, use these steps:

  1. Open Start.
  2. Search for Notepad, and click the top result to open the app.
  3. Write a new or paste your script in the text file — for example, Write-Host «Congratulations! Your first script executed successfully»

PowerShell notepad script

(Image credit: Future)
  1. Click the File menu.
  2. Select the Save As option.
  3. Confirm a descriptive name for the script — for example, first_script.ps1.

Notepad save script file

(Image credit: Future)
  1. Click the Save button.

Create PowerShell script with Integrated Scripting Environment

You can also use the built-in PowerShell ISE console to code your scripts on Windows 10.

The Integrated Scripting Environment (ISE) is a complex tool, but you can get started using these steps:

  1. Open Start.
  2. Search for Windows PowerShell ISE, right-click the top result, and select the Run as administrator option.
  3. Click the File menu.
  4. Select the New option to create a new empty .ps1 file.
  5. Write a new, or paste the script you want to run — for example, Write-Host «Congratulations! Your first script executed successfully»

PowerShell ISE script

(Image credit: Future)
  1. Click the File menu.
  2. Click the Save option.
  3. Type a name for the script — for example, first_script.ps1.

PowerShell ISE Script Ps1 Save

(Image credit: Future)
  1. Select the folder to save the script file.
  2. Click the Save button.
  3. (Optional) Click the Run button on the top-right side (or press the F5 key) to run the script.

Once you complete the steps using Notepad, Visual Studio Code, or PowerShell ISE, the script will be ready, but it will fail using the default system settings. The reason is that the default PowerShell settings are configured to block the execution of any script. (The only exception is if you run the script’s contents within Visual Studio Code or PowerShell ISE.)

How to run PowerShell script file on Windows 10

On Windows 10, to run a script with PowerShell, you must change the execution policy.

To change the execution policy to run PowerShell scripts on Windows 10, use these steps:

  1. Open Start.
  2. Search for PowerShell, right-click the top result, and select the Run as administrator option.
  3. Type the following command to allow scripts to run and press Enter: Set-ExecutionPolicy RemoteSigned
  4. Type A and press Enter (if applicable).
  5. Type the following command to run the script and press Enter: & «C:PATHTOSCRIPTfirst_script.ps1»

In the above command, change «PATHTOSCRIPT» to the location of your script. For example, this command runs a script stored in the «Downloads» folder: & «C:UsersusernameDocumentsfirst_script.ps1»

Run PowerShell script on Windows 10

(Image credit: Future)

After you complete the steps, the script will run, and if it was written correctly, you should see its output on the screen without issues.

PowerShell includes four execution policies that apply to Windows 10:

  • Restricted — Prevents any script from running.
  • RemoteSigned — Allows scripts created on the computer, but scripts created on another device won’t run unless they include a trusted publisher’s signature.
  • AllSigned — All the scripts will run, but only if a trusted publisher has signed them.
  • Unrestricted — Runs any script without any restrictions.

You should only allow local scripts to run a script from a trusted source. If you don’t plan to run scripts regularly, it’s best to restore the default settings to block untrusted scripts using the same instructions outlined above, but in step 4, use the Set-ExecutionPolicy Restricted command.

More resources

For more helpful articles, coverage, and answers to common questions about Windows 10 and Windows 11, visit the following resources:

  • Windows 11 on Windows Central — All you need to know
  • Windows 10 on Windows Central — All you need to know

Cutting-edge operating system

A refreshed design in Windows 11 enables you to do what you want effortlessly and safely, with biometric logins for encrypted authentication and advanced antivirus defenses.

Get the best of Windows Central in in your inbox, every day!

Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he’s a recognized member of the Microsoft MVP community.

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

PowerShell — это объектно-ориентированный программный движок и скриптовый язык с интерфейсом командной строки, предоставляющий широкие возможности для конфигурирования операционных систем семейства MS Windows. Он предлагает как чисто консольный интерфейс, так и полноценную среду разработки PowerShell ISE (Integrated Scripting Environment, встроенное скриптовое окружение) для скриптов.

Для запуска интерфейса командной строки введите powershell в меню «Выполнить» (WinKey + R). PowerShell ISE запускается с помощью команды «PowerShell ISE» в том же меню. ISE более предпочтительно, так как предоставляет более широкие возможности разработчику благодаря подсветке синтаксиса, функции автозаполнения кода и другим особенностям, присущим многим «большим» IDE.

Изображение Windows Power Shell ISE

Среда разработки Windows PowerShell ISE

Написание и запуск скриптов

Скрипты сохраняются в виде файлов с расширением .ps1. Несмотря на то, что PowerShell уже давно является нативной частью ОС Windows, вы не сможете запустить его скрипты простым двойным щелчком. Для этого надо кликнуть правой кнопкой по скрипту и выбрать «Запустить в PowerShell».

Также существуют системные политики, ограничивающие выполнение скриптов. Можно проверить текущие параметры политики, введя команду Get-ExecutionPolicy. Результатом будет одно из следующих значений:

  • Restricted — выполнение скриптов запрещено. Стандартная конфигурация;
  • AllSigned — можно запускать скрипты, подписанные доверенным разработчиком; перед запуском скрипта PowerShell запросит у вас подтверждение;
  • RemoteSigned — можно запускать собственные скрипты или те, что подписаны доверенным разработчиком;
  • Unrestricted — можно запускать любые скрипты.

Для начала работы необходимо изменить настройку политики запуска на RemoteSigned, используя команду Set-ExecutionPolicy:

Команда Set-ExecutionPolicy в PowerShell

После выполнения команды можно будет запускать свои скрипты

Командлеты

Командлеты — это команды с предопределённой функцией, подобные условным операторам в языках программирования. У них есть несколько ключевых особенностей:

  • существуют системные, пользовательские и опциональные командлеты;
  • результатом выполнения командлета будет объект или массив объектов;
  • командлеты могут обрабатывать данные и передавать их другим командлетам с помощью конвейеров;
  • командлеты нечувствительны к регистру, так что нет никакой разницы между Get-ADUser, get-aduser и gEt-AdUsEr;
  • в качестве разделителя используется символ ; .

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

  • Get-Process — отобразить текущие процессы, запущенные на компьютере;
  • Get-Service — отобразить список служб и их статус;
  • Get-Content — отобразить содержимое указанного файла, например Get-Content C:WindowsSystem32driversetchosts.

При необходимости список всех доступных командлетов можно вывести с помощью Get-Help-Category. Запомните эту команду — она крайне важна для тех, кто изучает PowerShell с нуля, так как помогает быстрее начать ориентироваться в его возможностях.

Команда Get-Help-Category в PowerShell

Результат выполнения команды Get-Help-Category

Также можно создавать свои командлеты, но эта тема выходит за рамки нашего руководства по PowerShell для начинающих.

Параметры

У каждого командлета есть несколько параметров, определяющих его работу. PowerShell ISE автоматически предлагает все доступные параметры с отображением их типа. Например, Get-Service-NameW* выводит список служб, у которых имя начинается с W. Если вы забыли, какие параметры у введённого командлета, воспользуйтесь Get-Member.

Например, Get-Process | Get-Member:

Команда Get-Member в PowerShell

Список параметров командлета Get-Process

Если вы не нашли того, что нужно, или не уверены в том, как правильно задаются параметры, можно даже запросить примеры с помощью параметра -Examples. Встроенное руководство по PowerShell покажет, для чего используются разные параметры:

Команда -Examples

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

Некоторые командлеты также могут вызываться с помощью алиасов. Например, вместо Get-Help можно просто написать Help — эта команда также вызовет встроенное руководство по PowerShell.

При написании больших скриптов или коллективной разработке можно пользоваться комментариями. Каждый комментарий начинается с символа #, а блок комментариев ограничивается комбинациями символов <# и #> в начале и в конце соответственно.

Конвейер

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

  • GetService | SortObject -property Status — сортировка запущенных служб по статусу;
  • “Hello World!” | Out-File C:pstest.txt — запись текста в файл.

Можно использовать несколько конвейеров. Например, следующий скрипт выводит список имён всех служб за исключением остановленных:

Get-Service | WHERE {$_.status -eq “Running”} | SELECT displayname

Заключение

Это руководство для тех, кто изучает PowerShell с нуля, поэтому здесь раскрыты только базовые понятия и приёмы. После его прочтения у вас должно появиться представление о том, что собой представляет этот инструмент. Также мы рассмотрели варианты изменения политики выполнения скриптов, что такое командлет, как они обмениваются данными с помощью конвейера и как получить свойства нужного объекта. Помните, что в случае затруднений можно воспользоваться командлетом Get-Help — это одна из самых важных команд для начинающих изучать PowerShell.

Если пользуетесь не только Windows, но и Linux, посмотрите статью про команды терминала Linux для начинающих. В ней рассказывается про работу с процессами и файлами, навигацию, каналы, xargs, awk и grep.

Перевод статьи «Windows PowerShell Scripting Tutorial for Beginners»

Программа PowerShell — это альтернативная командная строка с обширной функциональностью. Многие владельцы компьютеров, которые неплохо ориентируются в системных процессах, интересуются возможностями её использования на Windows 10 и предыдущих версиях этого обеспечения, чтобы менять конкретные процессы и настройки ПК под себя.

PowerShell логотип

В использовании программы PowerShell нет ничего сложного. Просто следуйте всем инструкциям из этой статьи и у вас все получится

Если вы не являетесь знатоком в подобной тематике, только начинаете изучение командных строк и действий, доступных к выполнению в них, вам будет полезно узнать ответы на главные вопросы по пользованию таким приложением. Например, как запустить Windows PowerShell ISE Windows 10 и писать, работать со скриптами.

Как открыть PowerShell?

Это можно сделать несколькими следующими способами:

  • Через Пуск — вы найдёте приложение в общем списке компонентов под буквой W.
  • При помощи поиска в Панели задач — откройте её, и введите слово PowerShell для поиска.
  • Используя меню «Выполнить» — запустите его через комбинацию Win+R и напишите название утилиты, после чего она будет найдена в системе.
  • В коммандере задайте действие PowerShell — но, вы должны знать, что будете работать с приложением через уже запущенную строку, а не в отдельном окне.
  • В параметрах Windows выберите «Свойства панели задач» и меню «Пуск». Во вкладке «Навигация» поставьте флажок на строке «Заменить командную строку оболочкой PowerShell…». Теперь вы сможете включать утилиту комбинацией Win+X.

Использование PowerShell

Как писать и запускать скрипты?

Как создать скрипт PowerShell и запустить его? Это можно попросту сделать в блокноте — используя его, укажите в новом документе необходимые вам команды. После сохраните его, но поменяйте формат на .ps1 — именно такое расширение имеют файлы этой системной утилиты.

Писать скрипты в самом приложении можно так:

  • Запустите его.
  • Нажмите на пункт «Создать».
  • Или кликните на «Файл», и в появившемся списке выберите «Создать».
  • Напишите все команды, которые нужно выполнить, сохраните файл.

Скрипты ещё можно писать и редактировать в FAR Manager, но их нельзя использовать непосредственно в таком приложении, ведь оно отображает файлы этого типа через стандартную строку cmd. Однако прочие действия выполняются таким же образом, как и в «родной» утилите.

Запустить скрипт вы сможете таким образом:

  1. Зайдите в PowerShell от имени администратора.
  2. При помощи команд cd укажите месторасположение требуемого файла. Например, e: cd cd work . имя_файла. Ps1, или e: work имя_файла.ps1
  3. В этом случае e: — имя жёсткого диска, где находится файл.
  4. Жмите Enter.

Программа обязательно покажет вам сообщение с текстом «Не удаётся загрузить файл ___ .Ps1, так как выполнение скриптов запрещено для этой системы…», когда вы будете первый раз запускать команду. Дело в том, что Windows оснащён защитой от вмешательства благодаря разработчикам, поэтому никто из пользователей по умолчанию не имеет доступа на выполнение таких действий. Но, это ограничение можно очень просто обойти.

Как? В тексте, возникающем вместе с ошибкой, будет рекомендация ввести команду get-help about_signing, чтобы получить больше информации. Вы можете выполнить эти указания, или использовать комбинацию Set-ExecutionPolicy remotesigned — после её ввода потребуется подтверждение, и ограничение будет снято.

Другие вопросы по пользованию

У многих возникает вопрос, как узнать версию PowerShell? Для этого выполните следующее:

  1. Откройте приложение.
  2. Введите $PSVersionTable.
  3. Если это ни к чему не привело, значит, у вас версия 1.0 — для неё есть команда $host.version.
  4. В ином случае появится подробная информация о том, какая версия приложения установлена на ПК.

Использование программы PowerShell

Ещё один вопрос, на который стоит дать ответ — как удалить PowerShell? Для этого потребуются такие действия:

  • Зайдите через Панель управления в меню установки и удаления программ.
  • Найдите ветку Microsoft Windows
  • Удалите обновление для компонента WindowsPowerShell (TM), следуйте инструкциям системы.

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

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Powershell ise скачать для windows 10
  • Powershell export csv encoding windows 1251
  • Powershell exe windows powershell что это
  • Powershell exe windows powershell 32 бита
  • Powershell active directory module windows server 2008

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии