PowerShell — командная оболочка и язык сценариев для Windows

PowerShell – командная оболочка Виндовс, позволяющая выполнять и автоматизировать большинство задач по администрированию операционных систем. В её состав входит собственный скриптовый язык, оболочка командной строки и платформа управления конфигурацией.  Она широко применяется опытными пользователями, разработчиками, сисадминами, DevOps-инженерами, системными инженерами, администраторами баз данных. По ссылке внизу можете скачать PowerShell для Windows 7, 8, 10, 11.

Выберите версию
PowerShell-7.3.6-win-x64.msi
PowerShell-7.3.6-win-x86.msi

Возможности программы

PowerShell (ПоверШелл, ПоверШел) – кроссплатформенное решение, которое также присутствует в Linux и MacOS. Когда разговор заходит об этом инструменте, он касается трёх вещей:

  • Оболочка командной строки – оболочка в которой реализованы возможности популярных аналогов. В отличие от них она возвращает не только текст, но и объекты .NET. Её возможности:
  • журнал командной строки;
  • постановка команд;
  • заполнение посредством Tab – автоматическая подстановка команд;
  • работа с псевдонимами команд;
  • объединение команд путём создания конвейера;
  • справочная система в консоли.
  • Скриптовый язык – применяется для автоматизации управления Windows, тестирования, развёртывания проектов. Возможности языка сценариев:
  • расширяемость функциональности с применением скриптов, функций;
  • удобная система вывода информации;
  • создание динамических типов посредством расширяемой системы;
  • экспорт информации в форматы Excel: XML, CSV.
  • Платформа автоматизации – экосистема модулей для администрирования и настройки практически любой технологии, включая облачные сервисы, виртуальные машины.PowerShell

PowerShell поддерживает все команды CMD, которые здесь являются псевдонимами, пользователь может создавать собственные инструкции.

В PS реализовано управление комбинациями клавиш, часть из которых вам знакомы. Основные горячие клавиши описаны здесь. Приложение поддерживает различные кодировки, в том числе кириллицу (русский язык).

Выберите версию
PowerShell-7.3.6-win-x64.msi
PowerShell-7.3.6-win-x86.msi

Как установить ПО

Для инсталляции PowerShell скачайте подходящую версию приложения и запустите полученный файл.

Системные требования

PowerShell работает на компьютерах с Windows 7 – 11 и Server 2008 – 2022 с установленным Windows Management Framework v5.1.

Выберите версию
PowerShell-7.3.6-win-x64.msi
PowerShell-7.3.6-win-x86.msi

Чем отличается от CMD

Рассмотрим основные отличия между PS и CMD.

PowerShell имеет визуальные и функциональны отличия от CMD. У PS красивый графический интерфейс, он мощнее командной строки, при этом включает в себя все её возможности – выполняет любые команды CMD. Команды PS называются командлетами, причём выход одного из них может являться входом в другой, ведь командлеты представлены объектами с определённой структурой.

PowerShell поддерживает удаленное выполнение команд, работает со сложными скриптами, обрабатывает команды объектно-ориентированного языка программирования, а CMD – последовательности символов.

Как пользоваться PowerShell

Для запуска PowerShell воспользуйтесь поисковой строкой или меню WinX, которое вызывается правым кликом по пуску или комбинацией клавиш Win + X. Если нужно вызвать инструмент от имени администратора, кликните по ярлыку правой клавишей и выберите соответствующую команду.Запуск PowerShell

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

Get-Command

Любую команду можно вставить из буфера правой клавишей.

В итоге увидите таблицу с четырьмя столбцами: тип команды, её название, версия, источник. При этом название обычно представлено парой глагол – существительное, что облегчает работу с инструментом, особенно его освоение начинающими пользователями или системными администраторами.Таблица

В PowerShell различают следующие виды команд:

  • функции – написанные на PS, в основном используются для выполнения задач;
  • командлеты – встроенные команды от Майкрософт, применяются преимущественно разработчиками;
  • псевдонимы – из CMD;
  • внешние сценарии – подключатся из файлов.

Многие команды имеют параметры, задающие их поведение: Get – получение, Set – установка, Remove – удаление, очистка. Всё интуитивно и понятно.

Для сокращения списка команд выполните Get-Command с параметром -Verb Get:

Get-Command -Verb Get

Если он всё равно покажется длинным, попробуйте:

Get-Command -Noun Content

Для обновления документации выполните:

Update-Help

Теперь можете ознакомиться со справочными материалами:

Get-Help

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

Get-Help Add-Content

Для отображения примеров её применения задайте соответствующий параметр:

Get-Help Add-Content –ExamplesGet-Help Add-Content –Examples

Кроме сведений об отдельных командах в PS есть раздел About с основными данными о конкретных командах, например, касающихся ядра инструмента:

Get-Help about_Core_Commands

Основы программирования для работы с PowerShell

Без знаний базовых понятий программирования вы сможете выполнять только простейшие действия в PS. Для продвинутой работы с оболочкой вам нужны следующие понятия.

Переменная.

Переменная – место хранения значений, за определённым символом или их набором можно хранить изменяющиеся наборы данных. Вызываются они путём ввода имени переменной со значком $ перед ней, например, встроенная переменная

$MaximumHistoryCount

отобразит число команд, хранимых PS в истории.

Для изменения значения воспользуйтесь выражением типа:

$MaximumHistoryCount = 100Переменная

Типы данных.

В переменных хранится различная информация:

  • $variable = ‘text’ – строковая, берётся в кавычки;
  • $variable = 12 – числовая (цифры) – бывают целочисленными, с плавающей запятой;
  • $variable = $true (либо false) – логическая.

При этом над переменными можно совершать различные действия.

Объекты.

Каждый элемент в PS – объект, экземпляр шаблона, называемый классом. Последний определяет:

  • содержимое объекта, методы или действия, которые над ним можно выполнять;
  • атрибуты объекта – всю полноту информации о нём.

Структура данных.

Способ их хранения, организации. Структуры данных в PS – объекты, которые хранятся в переменных. К ним относят двумерные массивы, хэш-таблицы, ArrayList.

Циклы.

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

  • Foreach – выполняет одинаковые действия над объектами списка до его завершения.
  • For – запускает код указанное количество раз.
  • While – выполняет команды, пока выполняется заданное условие.
  • Do/while, do/until – схожие с Первый выполняет что-то, пока условие истинно, второй – пока оно таким не станет.

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

Условные операторы.

Позволяют реализовывать выполнение кода в зависимости от заданных условий.

  • If – задаёт условие осуществления операции: if (условие) {действие}.
  • Else – позволяет предоставить альтернативу if – действие, которое следует выполнить, когда условие не соблюдается.
  • Switch – позволяет запускать разные фрагменты кода в зависимости от заданных значений.

Текст, следующий за символом «#» или начинающаяся из него строка будут комментарием. Если нужно закомментировать несколько строк, разместите их между символами <# #>. Аналогично делается многострочный комментарий:

<# ваш текст

продолжение#>.

Основные команды

PowerShell позволяет производить в среде Windows практически любые действия: работать с файловой системой, создавать базы данных, SQL-запросы, устанавливать SSH-подключения, осуществлять вывод данных на экран или в файл, запуск exe, работать с файловой системой. Рассмотрим основные действия, которые можно осуществлять в PowerShell, с пояснениями и примерами, ознакомимся с синтаксисом PS.

Архивирование файлов и каталогов в Windows 10 осуществляется командой Compress-Archive:

$compress = @{

Path = “d:\tor.torrent”

CompressionLevel = “Fastest”

DestinationPath = “D:\tor.zip”

}

Compress-Archive @compressАрхивирование файлов

Path – путь к файлу / каталогу, DestinationPath – название архива.

Кроме вывода значений в консоль (на экран) PowerShell позволяет осуществить вывод в файл. Для этого используется простейшая конструкция с указанием переменной и пути к файлу. Ранее мы задали значение $color равным «red». Чтобы вывести переменную в файл, выполните:

$color > c:\text.txt

Выключить компьютер можно командой Stop-Computer – работа завершается спустя 5 секунд. Если нужно установить таймер, используйте аргумент delay:

Stop-Computer -delay 20

Перезагрузить компьютер через PowerShell можно командой:

Restart-Computer.

PowerShell используют как генератор паролей. Для создания паролей из 10 символов с 2 спецсимволами используйте код:

Add-Type -AssemblyName System.Web

[System.Web.Security.Membership]::GeneratePassword(10, 2)

Также его можно модифицировать:

Add-Type -AssemblyName System.Web$NumberOfCharacters = 8         # Число символов$NumberOfSpecialCharacters=2     # Мин. число спецсимволов$NumberOfPasswords=1            # Число паролей1..$NumberOfPasswords| % {[System.Web.Security.Membership]::GeneratePassword($NumberOfCharacters,$NumberOfSpecialCharacters)}Генератор паролей

Добавить пользователя в группу:

Add-AdGroupMember -Identity TestADGroup -Members user

Выгрузить пользователей из группы:

Remove-ADGroupMember -Identity TestADGroup -Members user#1, user#2

Работа с массивами.

Создать массив – значит, присвоить переменной несколько значений: $b = 5, 12, 77, 54, 23, 43, 3.

Добавить элемент в массив:

$b = @(0..6)

$b += 12

Чтение массива – $b.Добавить элемент в массив

У строк есть свойства: длина и символ. Для задания их значений используйте выражение:

$string = ‘текст’

Если вам нужна длина строки, выполните $string.Length.

Для обращения к конкретному символу используйте $string.Chars(3) – цифра – номер элемента.Обращение к конкретному символу

Вывести список процессов – Get-Process.

Завершить процесс:

Stop-Process -Name “ProcessName” -Force

Мы завершили работу службы названием AIMP – проигрывателя.Завершить процесс

Вывод заданий из планировщика: Get-Command -Module ScheduledTasks, их запуск из планировщика – Start-ScheduledTask CheckServiceState_PS.

Экспорт заданий в XML:

Export-ScheduledTask “StartupScript_PS” | out-file c:\zadaniya.xml

Изменить пароль пользователя:

  • Import-module ActiveDirectory – импорт модуля управления паролями в сессию;
  • Set-ADAccountPassword USER1 -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “POWERPAROL” -Force -Verbose) –PassThru смена пароля на POWERPAROL для юзера USER

Вывести имя компьютера (не учётной записи, а именно машины) – $env:computername.

Через PowerShell моно вывести информацию о компьютере: краткую справку, подробные сведения или только нужное значение при помощи разных команд и командлетов:

  • wmic /? – общие данные;
  • wmic /?:BRIEF – краткая сводка;
  • wmic /?:FULL – полная информация.Информация о компьютере

Также доступны следующие команды:

  • Get-WmiObject -Class win32_processor – ЦП;
  • Get-WmiObject -Class win32_baseboard – материнская плата;
  • Get-WmiObject Win32_PhysicalMemory – объём физической памяти;
  • Get-PhysicalDisk – дисковые накопители;
  • Get-WmiObject Win32_NetworkAdapter – сетевой адаптер.
  • Win32_NetworkAdapterConfiguration – конфигурация сетевой платы;
  • WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors – число физических ядер процессора.ЦП

Открыть окно Проводника в указанном каталоге:

Invoke-Expression “explorer ‘/select,E:\Mycatalog'”

PowerShell ведет историю команд, которую можете просмотреть, выполнив Get-History. Для поиска по ней используйте Ctrl + R.

Просмотреть журнал событий – Get-EventLog -LogName “Windows PowerShell”.Журнал событий

Копирование файлов:

Copy-Item -Path “c:\zadanclsiya.xml” -Destination “D:\temp\zadanclsiya.xml”

Обратите внимание на двойные кавычки, первый адрес – исходный файл, второй – место его назначения.Двойные кавычки

Округление чисел. Команда [math]::Round(123.578, 1) – отобразится 123.6. Обратите внимание, что дробные числа следует задавать с точкой, а не через запятую.

Чтобы объединить несколько команд в одной строке, используйте символ &:

Get-Service -Name explorer & Stop-Service

Если вторая команда должна запускаться после успешного выполнения первой – два таких символа – &&:

Get-Service -Name explorer && Stop-Service

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

Вывести историю выполненных команд с подробностями:

Get-History | Format-List -Property *

Просмотреть её в блокноте:

notepad (Get-PSReadLineOption | select -ExpandProperty HistorySavePath)Просмотреть в блокноте

Очистить историю – Clear-History

Удалить одну команду, последнюю:

Clear-History -count 1 –newest

Также можете удалить файл с историей:

Remove-Item (Get-PSReadlineOption).HistorySavePath

Запустить скрипт или приложение с параметрами, укажите их после имени через пробел с чёрточкой:

E:\Downloads\MicrosoftEdgeSetup.exe –silent

Для создания собственной переменной введите её название, а через знак «равно» – значение:

$color = ‘red’

Чтобы вывести значение переменной, выполните:

$colorЗначение переменной

Встроенные переменные изменять не рекомендуется.

Инструмент поддерживает объединение или конкатенацию строк при помощи знака плюс:

$name = ‘Красный на английском будет ‘ + $colorКонкатенация строк

Перенос или перевод строки на новую выполняется символом `n`:

“Эта строка будет разделена на две `n` прямо в этом месте.”Перенос

Перезапустить службу – используйте командлет:

Restart-Service -Name themes

Для получения названий сервисов введите: Get-ServiceНазвания сервисов

Через PS можно создать, скопировать, удалить и переименовать файл.

Переименование:

Rename-Item -Path “c:\text.txt” -NewName “new_name.txt”Переименование

Путь к файлу берите в двойные кавычки.

Перейти в каталог / папку: Set-Location -Path D:\Games.

Получить текущее расположение: Get-Location.

Просмотреть содержимое каталога: DIR.Просмотреть содержимое каталога

Получить список сетевых дисков: Get-PSDrive.

Подключить сетевой диск:

New-SmbMapping -LocalPath ‘F:’ -RemotePath ‘\\192.168.3.120\Catalog -Persistent $true

Проверка существования файла:

Test-Path -Path ‘C:\ProgramFiles\’Проверка существования файла

Название объекта берут в одинарные кавычки.

Поиск cтроки или текста в документе:

Select-String -Path c:\text.txt -Pattern “ТЕКСТ”

Проверить версию PowerShell: $PSVersionTable.Проверить версию

Поиск файла или вывод содержимого каталога:

Get-ChildItem -Path “D:\temp” –Recurse

или

Get-ChildItem -Path “D:\temp” – без рекурсии, только в указанной папке, без подкаталогов.Поиск файла

Проверить доступность порта TCP:

Test-NetConnection -Port 25Проверить доступность порта

Узнать размер папки:

Get-ChildItem d:\тел | Measure-Object -Property Length -sum

Путь без кавычек.

Узнать размер папки

Вывести размер файла:

Get-ChildItem -Path ‘d:\tor.zip’ | fl *

Информация находится в строке Length в байтах.

Для преобразования используйте строку:

Get-ChildItem -Path ‘d:\tor.zip’ | fl @{Label=”SizeMB”; Expression={$_.Length / 1MB}}, *Преобразование

Узнать расширение файла в PowerShell можно командлетом:

Get-ChildItem ‘d:\’ -File | Get-Member -MemberType Property

Для вывода информации используйте выражение:

Get-ChildItem ‘C:\Folder2\*’ -Recurse | fl -Property ExtensionВывод информации

Проверить свободное место на дисках:

Get-WmiObject -Class Win32_LogicalDiskПроверить свободное место

Синхронизация времени. Сначала проверьте состояние сервиса W32Time

Get-Service -Name W32Time | Format-Wide -Property Status -Column 1

Если он Stopped, запустите – выполните Start-Service W32Time.

Включите синхронизацию времени:

w32tm /resync /forceВключите синхронизацию времени

Через PowerShell можно создать пользователя в Windows (локального):

New-ADUser User1

Вывести список пользователей:

Get-ADUser -filter *

Создать папку с подкаталогами:

New-Item -Path ‘D:\Catalog1\Catalog2’ -ItemType DirectoryСоздать папку с подкаталогами

New-Item D:\temp\file.txtNew-Item

Создать ярлык сложнее:

# На что ярлык

$source = ‘C:\Program Files\Adobe\Photoshop\Photoshop.exe’

# Место его хранения с расширением .lnk

$target = ‘C:\Users\User\Desktop\link.lnk’

$WshShell = New-Object -comObject WScript.Shell

$Shortcut = $WshShell.CreateShortcut($target)

$Shortcut.TargetPath = $source

$Shortcut.Save()Создать ярлык

Сформировать список файлов в папке:

Get-ChildItem -Path D:\ -ForceСформировать список файлов

Узнать срок действия пароля:

net user polzovatel /domain

Вывести текущую дату: Get-DateВывести текущую дату

С помощью параметров можно изменить формат даты.

Узнать температуру процессора:

get-wmiobject msacpi_thermalzonetemperature -namespace “root/wmi”.Узнать температуру процессора

Значение строки Current Temperature разделите на 10 и отнимите от него 273, ведь оно указано в Кельвинах.

Удаление папки:

Remove-Item D:\temp\catalog

Подтвердите выполнение операции клавишей «Y».

Удалить папку с содержимым принудительно:

Remove-Item -Recurse -Force D:\temp\catalog.Удалить папку принудительно

Удалить файл:

Remove-Item D:\Temp\name.jpgУдалить файл

Подтверждение не требуется.

Удаление файлов по маске, например, картинок:

Remove-Item D:\Temp\*.jpg

Узнать IP:

Get-NetIPAddress | Format-TableУзнать IP

Узнать версию Windows:

Get-WmiObject -Class Win32_OperatingSystem | fl -Property Version, BuildNumberУзнать версию Windows

Чтение из файла – вывод содержимого txt –документа на дисплей:

Get-Content -Path ‘e:\Downloads\62404808.txt’

Если в скрипте нужно сделать паузу, используйте конструкцию:

Wait-Event -Timeout 10

Посмотреть свойства объекта:

Get-ChildItem c:\zadaniya.xml | Get-MemberПосмотреть свойства объекта

Инструкции

Разберёмся с основными проблемами, которые возникают с PowerShell, а также приведём основные инструкции по работе с командной строкой.

Программа не работает

Если администратор запретил использование PowerShell, появляется сообщение «Выполнение сценариев отключено в этой системе», его необходимо включить через редактор групповых политик (для Home версии не подходит) или редактор реестра.

  1. Зажмите Win + R, введите regedit, кликните «ОК».Введите regedit
  2. Перейдите в раздел HKLM\SOFTWARE\Policies\Microsoft\Windows.
  3. Через правый клик создайте новый раздел PowerShell.Создайте новый раздел
  4. В нём – два строковых параметра: EnableScripts со значением 1 и ExecutionPolicy – Unrestricted.Два строковых параметра

Перезагрузите компьютер.

Вторая причина, почему не работает PowerShell – не очищена политика, позволяющая управлять приложениями Win32. Для устранения проблемы перезагрузите ПК, причём может потребоваться несколько перезапусков.

Также иногда помогает чистая загрузка системы:

  • Отключите все сторонние службы кроме сервисов Microsoft в окне msconfig.Отключите службы
  • Перезапуск с очисткой кэша – жмите по кнопке «Перезагрузить» с зажатой клавишей Shift.

Если PowerShell грузит процессор, отыщите какой процесс он запускает через Process Explorer или Диспетчер задач. Сам PS не может потреблять много ресурсов, но если через него запускаются приложения или, например, майнеры, тогда да. Также рекомендуем проверить компьютер на вирусы.

Обрезка строчки

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

Создайте переменную строкового типа и присвойте ей значение:

$perem = “The main scientific question of our time”

В скобках укажите, после какого символа нужно обрезать строку:

$perem.Remove(12)

В итоге получите: «The main sci» – только 12 символов с учётом пробелов.Метод Remove

Метод Split разбивает строку на массив при помощи разделителя.

Его указывают следующим образом:

$perem.Split(“u”)

Строка будет разбиваться после каждого символа «u».Метод Split

Посредством метода Substring получите подстроку, созданную из исходной строчки:

$perem.Substring(7,5)

Первая цифра – номер начального символа, вторая – их количество.Метод Substring

Вернуть команду «Открыть окно»

В Windows 10 1703 исчез пункт «Открыть окно команд». Вернуть его просто.

  1. Выполните regedit в окне Win + R.
  2. Разверните HKEY_CLASSES_ROOT\Directory\shell\cmd.
  3. При дальнейших манипуляциях во время работы с реестром может появиться уведомление: «Нет доступа», поэтому вызовите «Разрешения» из контекстного меню каталога cmd.Вызовите «Разрешения»
  4. Жмите «Дополнительно», затем – «Изменить».
  5. Введите название учётной записи, кликните «Проверить имена», затем – «ОК».Введите название учётной записи
  6. Замените владельца подконтейнеров с учётом дочерних элементовЗамените владельца
  7. Администраторам разрешите полный доступ.Администраторам разрешите полный доступ
  8. Теперь удалите запись HideBasedOnVelocityId.Удалите запись

Повторите операции для разделов HKСR\Drive\shell\cmd и HKCR\Directory\Background shell\cmd.

Обработка ошибок

В PS есть средства обработки ошибок, например, программа умеет пропускать их – не выводить на экран, при этом записывая в переменную $ERROR. Для этого используйте конструкцию

-ErrorAction SilentlyContinue или -EA 0

Например,

Get-Service service,spoooler -EA 0Обработка ошибок

PowerShell на найдёт службы spoooler (правильно spooler), но ошибку не выдаст.

Управление схемами питания

Для активации плана электропитания «Максимальная производительность» через PS используйте командлет

powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61Управление схемами питания

Удалённое управление

Установим подключения к удаленному компьютеру.

Сначала поменяйте сеть на частную.

Enable-PSRemoting –SkipNetworkProfileCheck

Откройте порт 5985 для удалённого ПК:

Set-NetFirewallRule -DisplayName “Windows Remote Management (HTTP-In)” -RemoteAddress 192.168.1.120

Enable-NetFirewallRule -DisplayName “Windows Remote Management (HTTP-In)

 

Протестируйте соединение:

 

Test-NetConnection 192.168.1.120 -Port 5985

Test-WsMan 192.168.1.120

Активируйте аутентификацию

Get-ChildItem -Path WSMan:\localhost\Service\Auth\Активируйте аутентификацию

Подтвердите запуск службы клавишей Y.

Переменные среды

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

Для отображения значения переменной используйте командлет $Env:windir. В данном случае увидите значение windir.Отображение значения переменной

Для создания новой переменной среды введите:

$Env:novaya = ‘D:\temp’

После двоеточия идёт её название, после знака «равно» – значение в кавычках.

Сравнение величин

Для вывода даты используйте команделет: Get-Date.

Если нужно выполнить сравнение дат:

Get-ChildItem -Path “.\Downloads\” | where -Property CreationTime -GT (Get-Date).AddDays(-14)Сравнение величин

В первых кавычках путь к каталогу. CreationTime – свойство объекта, время его создания. AddDays(-15) – поиск значений больше двух недель – 14 дней.

Удаление по условию

Удалить файлы старше n дней из каталога d:\temp. Вместо «-n» укажите возраст объектов в днях.

[IO.Directory]::GetFiles(“d:\temp”).Where{$_.LastWriteTime -lt [datetime]::Now.AddDays(-n)}.Foreach{[io.file]::Delete($_)}

Определяем переменную

Узнать тип переменной можно методом GetType.

Сначала создайте переменную, например, строковую.

$perem = ‘strokovaya’

$perem.GetType().FullNameОпределяем переменную

Настройка интерфейса

Вы можете изменить тип, размер, цвет текста, оттенок фоновой заливки PowerShell и прочие настройки интерфейса.

Кликните правой клавишей по заголовку окна, выберите «Свойства», во вкладке «Цвет» меняйте окраску заднего плана и символов, уровень прозрачности окна.Настройка интерфейса

Превращение типов данных

Если нужно превратить число в строку, используйте следующую конструкцию

$b = ‘500’ # задаём переменной текстовое значение (цифры в кавычках)

$b.GetType().FullName # проверяем его тип: System.String значит строковый

$a = [int]$b # конвертируем строку в integer – целое число

$a.GetType().FullName #проверяем его тип – получаем Int32.Превращение типов данных

Форматирование вывода

Для удобства восприятия информации PowerShell позволяет отображать данные в разных форматах.

Командлет Format-Wide выводит свойства объектов в столбцах.

Get-Command -Verb Format | Format-Wide

Без свойств вид информации изменится – исчезнет слово «Format»:

Get-Command -Verb Format | Format-Wide -Property NounФорматирование вывода

Для вывода в три колонки модифицируйте запись:

Get-Command -Verb Format | Format-Wide -Property Noun -Column 3Вывод в три колонки

Для вывода в табличном виде с автоматическим выбором ширины столбца

Get-Service -Name win* | Format-Table -AutoSize

С усечением данных по правому краю:

Get-Service -Name win* |    Format-Table -Property Name, Status, StartType, DisplayName, DependentServices -AutoSizeВывод в табличном виде

Как вывести кавычки

Экранирование кавычек – несложная задача для PS. Заключённые в одинарные кавычки строчки PowerShell понимает дословно. Для Вывода кавычек используйте двойные, например:

$a = “строка с кавычками ‘a'”Как вывести кавычки

PowerShell