FAQ POWERSHELL НА РУССКОМ ЯЗЫКЕ

By | March 30, 2015

translated-russian-v2


beta-v2-0


Концепция : Наиболее часто задаваемые вопросы по PowerShell.

Вы можете использовать этот список для того, чтобы :

  • Скопировать/вставить команды в скрипт
  • Ознакомиться с синтаксисом определённой команды
  • Улучшить свои технические знания
  • Узнать о новых командах
  • Подготовиться к собеседованию

ukrainian


Обновлено
06 октября 2015
Автор Steve Renard
Источник russian.powershell-guru.com
Разделов
75
Вопросов
610


ACL
Active Directory
Alias
Arrays
Browsers
Certificates
Characters
CIM
Comments
COM Objects
Compare
Computer
Credentials
CSV
Culture
Date
Drives
Environment
Errors
Event Viewer
Files
Folders
Format Operator (-f)
Functions
GPO
GUI
Hardware
Hashtables
Help
History
Jobs
Keyboard
Loops
Math
Memory
Messages
Modules
Microsoft Excel
Microsoft Exchange
Microsoft Outlook
Microsoft SharePoint
Networking
Openfiles
Operators
Parameters
Password
Powershell ISE
Powershell v5
Printers
Processes
PSObject
Quest
Random
RDP
Regedit
Regex
Remote
Restore
Scheduled Tasks
Search
SCCM
Services
SMTP
Snapins
Sounds
Static .NET Methods
Strings
System
Try/Catch
Variables
Symantec Vault
Windows 2012
Windows Azure
Windows Forms
WMI
XML

System

Как определить мою версию PowerShell?

Как запустить другую версию Powershell в режиме обратной совместимости?
powershell.exe -Version 2.0

Как установить принудительное использование определённой версии PowerShell (3,0 и выше) в скрипте с помощью PowerShell?
#Requires -Version 3.0

Как предоставить скрипту права администратора с помощью PowerShell?

Как проверить параметры скрипта с помощью PowerShell?
help -Name .\Get-ExchangeEnvironmentReport.ps1 -Full

Как получить информацию о текущем пользователе с помощью PowerShell?
[Security.Principal.WindowsIdentity]::GetCurrent()

Как создать, отредактировать и перезагрузить профиль с помощью PowerShell?

Как установить паузу на 5 секунд/минут в скрипте с помощью PowerShell?
Start-Sleep -Seconds 5
Start-Sleep -Seconds 300 # 5 minutes

Как узнать время последней загрузки с помощью PowerShell?
(Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime

Как получить ускорители типов с помощью PowerShell?

Как вывести список программ автозагрузки с помощью PowerShell?

Как удалить приложение с помощью PowerShell?

Как сделать скриншот рабочего стола или активного окна с помощью PowerShell?
Take-ScreenShot -Screen -File 'C:\scripts\screenshot.png' -Imagetype JPEG
Repository : Take-ScreenShot

Как узнать количество сообщений для очередей MSMQ с помощью PowerShell?

Как установить исполнительную политику с помощью PowerShell?

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

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

Как открыть Windows Explorer с помощью PowerShell?
[Diagnostics.Process]::Start('explorer.exe')
Invoke-Item -Path C:\Windows\explorer.exe

Как вывести список драйверов устройств с помощью PowerShell?
Get-WmiObject -Class Win32_PnPSignedDriver
Get-WindowsDriver -Online -All
driverquery.exe

Как создать GUID с помощью PowerShell?

Как узнать расположение временного каталога текущего пользователя с помощью PowerShell?
[System.IO.Path]::GetTempPath()

Как объединить общий и дочерний путь с помощью PowerShell?
Join-Path -Path C:\ -ChildPath \windows

Как вывести список всех команд “Get-*” с помощью PowerShell?
Get-Command -Verb Get

Как вывести список специальных системных папок с помощью PowerShell?

Как cмонтировать ISO/VHD файл с помощью PowerShell?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Как узнать текущую версию .NET Framework с помощью PowerShell?

Как проверить, установлена ли версия 4.5 .NET Framework, с помощью PowerShell?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full' -EA 0).Version -like '4.5*'

Как начать и остановить расшифровку (для создания записи сессии Windows PowerShell) с помощью PowerShell?
Start-Transcript -Path 'C:\scripts\transcript.txt
Stop-Transcript

Как изменить текущий каталог на заданный с помощью PowerShell?
Set-Location -Path 'C:\scripts'

Как очистить экран с помощью PowerShell?
Clear-Host
cls # Alias

Как изменить разрешение экрана с помощью PowerShell?
Set-DisplayResolution -Width 1280 -Height 1024 -Force # Windows 2012

Как установить полноэкранный режим с помощью PowerShell?
mode.com 300

Как узнать размеры (ширина и высота) изображения с помощью PowerShell?

Как посмотреть ключ продукта Windows с помощью PowerShell?

Perfmon

Как получить текущий “% Processor Time” (усредненное значение) в течение последних 5 секунд (10 раз) с помощью PowerShell?
(Get-Counter '\Processor(_total)\% Processor Time' -SampleInterval 5 -MaxSamples 10).CounterSamples.CookedValue

Assemblies

Как загружать сборки библиотек с помощью PowerShell?

Как проверить текущие сборки библиотек .NET, загруженные с помощью PowerShell?

Как узнать расположение GAC (Global Assembly Cache) с помощью PowerShell?

Clipboard

Как скопировать результаты в буфер обмена с помощью PowerShell?

Как получить содержимое буфера обмена с помощью PowerShell?
Add-Type -AssemblyName PresentationCore
[Windows.Clipboard]::GetText()

Hotfixes

Как получить установленные обновления с помощью PowerShell?
Get-HotFix -ComputerName $computer

Как узнать, какие обновления были установлены до определенной даты, а какие после неё, с помощью PowerShell?
Get-HotFix | Where-Object -FilterScript { $_.InstalledOn -lt ([DateTime]'01/01/2015') } # Before 01/01/2015
Get-HotFix | Where-Object -FilterScript {$_.InstalledOn -gt ([DateTime]'01/01/2015')} # After 01/01/2015

Как проверить, установлено ли обновление, с помощью PowerShell?
Get-HotFix -Id KB2965142

Как узнать, какие обновления были установлены на удаленном компьютере, с помощью PowerShell?
Get-HotFix -ComputerName $computer

Pagefile

Как получить информацию о файле подкачки с помощью PowerShell?
Get-WmiObject -Class Win32_PageFileusage | Select-Object -Property Name, CurrentUsage, AllocatedBaseSize, PeakUsage, InstallDate

Как узнать рекомендуемый размер (МБ) для файла подкачки с помощью PowerShell?
[Math]::Truncate(((Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory) / 1MB) * 1.5

Как создать файл подкачки (4096 MB) на диске D: с помощью PowerShell?

Как удалить файл подкачки на диске С: с помощью PowerShell?

Maintenance

Как проверить фрагментацию диска с помощью PowerShell?

Как проверить свободное дисковое пространство с помощью PowerShell?

Up


Files

Как открыть файл с помощью PowerShell?
Invoke-Item -Path 'C:\scripts\file.txt'
.'C:\scripts\file.txt'

Как прочитать файл с помощью PowerShell?
Get-Content -Path 'C:\scripts\file.txt'
gc "C:\scripts\file.txt" # Alias

Как перенаправить вывод в файл с помощью PowerShell?

Как узнать полное имя текущего файла скрипта с помощью PowerShell?
$MyInvocation.MyCommand.Path

Как запаковать/zip файлы с помощью PowerShell?

Как распаковать/unzip файлы с помощью PowerShell?

Как посмотреть файлы, упакованные в ZIP архив, с помощью PowerShell?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::OpenRead($fileZIP)

Как отобразить размер файла в КБ с помощью PowerShell?
(Get-ChildItem -Path .\winsrv.dll).Length /1KB
(Get-ChildItem -Path .\winsrv.dll).Length /1MB
(Get-ChildItem -Path .\winsrv.dll).Length /1GB

Как найти файлы больше или меньше 1 ГБ с помощью PowerShell?

Как отобразить имя файла без расширения с помощью PowerShell?
[System.IO.Path]::GetFileNameWithoutExtension('C:\Windows\system32\calc.exe') # Return calc

Как отобразить расширение файла с помощью PowerShell?
[System.IO.Path]::GetExtension('C:\scripts\file.txt') # Return .txt

Как узнать версию файла с помощью PowerShell?

Как получить хэш файла с помощью PowerShell?
(Get-FileHash $file).Hash

Как узнать контрольную сумму MD5/SHA1 файла с помощью PowerShell?
Get-FileHash $file -Algorithm MD5
Get-FileHash $file -Algorithm SHA1

Как отобразить скрытые файлы с помощью PowerShell?

Как проверить, имеет ли файл расширение, с помощью PowerShell?

Как установить свойство файла “Только чтение” с помощью PowerShell?
Set-ItemProperty -Path .\file.txt -Name IsReadOnly -Value $true

Как изменить значение атрибута “Изменен” на “На прошлой неделе” с помощью PowerShell?
Set-ItemProperty -Path .\file.txt -Name LastWriteTime -Value ((Get-Date).AddDays(-7))
If not working, use Nirsoft tool: BulkFileChanger.

Как создать новый файл с помощью PowerShell?
New-Item -ItemType File -Path 'C:\scripts\file.txt' -Value 'FirstLine'

Как переименовать файл с помощью PowerShell?
Rename-Item -Path 'C:\scripts\file.txt' -NewName 'C:\scripts\powershellguru2.txt'

Как использовать пакетное переименование нескольких файлов с помощью PowerShell?
Get-ChildItem -Path C:\scripts\txt | Rename-Item -NewName { $_.Name -replace ' ', '_' }

Как удалить файл с помощью PowerShell?
Remove-Item -Path 'C:\scripts\file.txt'

Как отобразить последние 10 строк файла с помощью PowerShell?
Get-Content -Path 'C:\scripts\log.txt' -Tail 10

Как разблокировать несколько файлов в папке с помощью PowerShell?
Get-ChildItem -Path 'C:\scripts\Modules' | Unblock-File

Как удалить пустые строки из файла с помощью PowerShell?
(Get-Content -Path file.txt) | Where-Object -FilterScript {$_.Trim() -ne '' } | Set-Content -Path file.txt

Как проверить, существует ли файл, с помощью PowerShell?

Как найти последний/первый созданный в папке файл с помощью PowerShell?

Как удалить одинаковые строки из файла с помощью PowerShell?

Как найти файлы, созданные в папке более/менее 1 месяца назад, с помощью PowerShell?

Как найти файлы, созданные в папке более/менее 1 года назад, с помощью PowerShell?

Как экспортировать значение переменной в файл с помощью PowerShell?
Set-Content -Path file.txt -Value $variable

Как подсчитать количество файлов (*.txt) в папке с помощью PowerShell?

Как найти строку внутри нескольких файлов с помощью PowerShell?
Select-String -Path 'C:\*.txt' -Pattern 'Steve'

Как вывести первую/последнюю строку файла с помощью PowerShell?

Как отобразить заданную строку в файле с помощью PowerShell?

Как подсчитать количество строк в файле с помощью PowerShell?

Как посчитать количество символов и слов в файле с помощью PowerShell?

Как скачать файл с помощью PowerShell?
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\tools\searchmyfiles.zip'

Как отобразить полный путь к файлу с помощью PowerShell?
Resolve-Path -Path .\script.ps1 # Return C:\Scripts\script.ps1

Copy

Как скопировать один файл в папку с помощью PowerShell?
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'

Как скопировать один файл сразу в несколько папок в PowerShell?

Как скопировать несколько файлов в одну папку в PowerShell?
Get-ChildItem -Path 'C:\source' -Filter *.txt | Copy-Item -Destination 'C:\destination'

Up


Active Directory

Domain & Forest

Computers

Groups

Organizational Unit (OU)

Users

Domain & Forest

Как найти серверы глобального каталога в Active Directory с помощью PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs

Как найти сайты в Active Directory с помощью PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites

Как найти текущий контроллер домена с помощью PowerShell?

Как найти все контроллеры в домене с помощью PowerShell?

Как найти неудачные AD репликации с помощью PowerShell?
Get-ADReplicationFailure dc02.domain.com # Windows 8 and 2012

Как узнать время существования каталога в Active Directory с помощью PowerShell?

Как получить подробные сведения о лесе/домене в Active Directory с помощью PowerShell?

Как посмотреть путь к контейнеру “Удаленные объекты” в Active Directory, с помощью PowerShell?
(Get-ADDomain).DeletedObjectsContainer

Как задействовать AD функцию корзины в Active Directory с помощью PowerShell?

Как восстановить AD аккаунт из корзины в Active Directory с помощью PowerShell?
Get-ADObject -Filter 'samaccountname -eq "powershellguru"' -IncludeDeletedObjects | Restore-ADObject

Как найти роли FSMO с помощью PowerShell?

Как подключиться к определённому контроллеру домена с помощью PowerShell?
Get-ADUser -Identity $user -Server 'serverDC01'

Как получить текущий сервер подключения с помощью PowerShell?

Как выполнить “gpupdate” на компьютере с помощью PowerShell?
Invoke-GPUpdate -Computer $computer -Force -RandomDelayInMinutes 0 # Windows 2012

Groups

Как создать новую группу в Active Directory с помощью PowerShell?

Как удалить группу в Active Directory с помощью PowerShell?
Remove-ADGroup -Identity 'PowershellGuru'

Как добавить пользователя в группу в Active Directory с помощью PowerShell?
Add-ADGroupMember "Powershell Guru" -Members powershellguru

Как удалить пользователя из группы в Active Directory с помощью PowerShell?
Remove-ADGroupMember 'Powershell Guru' -Members powershellguru

Как найти пустые группы (без участников) в Active Directory с помощью PowerShell?
Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}

Как посчитать пустые группы (без участников) в Active Directory с помощью PowerShell?
(Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}).Count

Как узнать участников группы в Active Directory с помощью PowerShell?

Как узнать участников группы (в т.ч. и рекурсивных) в Active Directory с помощью PowerShell?

Как подсчитать количество членов группы с/без рекурсивных членов в Active Directory с помощью PowerShell?

Users

Как использовать маски в фильтре “Get-ADUser” в Active Directory с помощью PowerShell?

Как переместить пользователя в другую OU в Active Directory с помощью PowerShell?
Move-ADObject -Identity $dn -TargetPath 'OU=myOU,DC=domain,DC=com'

Как найти весь MemberOf (включая вложения) для пользователя с помощью PowerShell?
Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=$($dn))"

Как получить MemberOf (кратко/усеченно) для пользователя с помощью PowerShell?
(Get-ADUser -Identity $user -Properties MemberOf).MemberOf | ForEach-Object -Process {($_ -split ',')[0].Substring(3)} | Sort-Object

Как изменить Name (FullName), (DisplayName), GivenName (FirstName) и Surname (LastName) для учётной записи пользователя в Active Directory с помощью PowerShell?

Как изменить Description, Office и (Tele)phone number для учётной записи пользователя в Active Directory с помощью PowerShell?
Set-ADUser $samAccountName -Description 'IT Consultant' -Office 'Building B' -OfficePhone '12345'

Как установить дату срока действия на “31.12.2015” или на “Никогда” для учётной записи пользователя в Active Directory, с помощью PowerShell?

Как разблокировать учётную запись пользователя в Active Directory с помощью PowerShell?
Unlock-ADAccount $samAccountName

Как включить/отключить учётную запись пользователя в Active Directory с помощью PowerShell?

Как удалить учётную запись пользователя в Active Directory с помощью PowerShell?
Remove-ADUser $samAccountName

Как сбросить пароль для одной учётной записи пользователя в Active Directory с помощью PowerShell?

Как сбросить пароль для нескольких учётных записей пользователей в Active Directory с помощью PowerShell?

Как найти владельца файла в Active Directory с помощью PowerShell?

Как найти OU (Organizational Unit) для пользователя в Active Directory с помощью PowerShell?
[regex]::match("$((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName)",'(?=OU=)(.*\n?)').value

Как найти неактивные учётные записи пользователей в Active Directory с помощью PowerShell?

Как найти просроченые учётные записи пользователей в Active Directory с помощью PowerShell?
Search-ADAccount -AccountExpired

Как найти заблокированные учётные записи пользователей в Active Directory с помощью PowerShell?
Search-ADAccount -LockedOut

Как найти SID учётной записи пользователя в Active Directory с помощью PowerShell?
(Get-ADUser -Identity $user -Properties SID).SID.Value

Как преобразовать имя пользователя в SID в Active Directory с помощью PowerShell?

Как преобразовать SID в имя пользователя в Active Directory с помощью PowerShell?

Как разделить различающееся имя учётной записи пользователя с Active Directory с помощью PowerShell?

Как узнать дату создания/изменения учётной записи пользователя с Active Directory с помощью PowerShell?
Get-ADUser -Identity $user -Properties whenChanged, whenCreated | Format-List -Property whenChanged, whenCreated

Как отобразить дополнительные и обязательные свойства для класса “User” в Active Directory с помощью PowerShell?

Как получить LDAP путь для пользователя в Active Directory с помощью PowerShell?

Как изменить CN (Canonical Name) для пользователя в Active Directory с помощью PowerShell?
Rename-ADObject $((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName) -NewName 'Steve Renard'

Как найти родительский элемент Organizational unit (OU) пользователя в Active Directory с помощью PowerShell?

Как посмотреть владельца учётной записи в Active Directory с помощью PowerShell?

Как конвертировать атрибут PwdLastSet для пользователя в Active Directory с помощью PowerShell?

Computers

Как протестировать безопасный канал между локальным компьютером и доменом с помощью PowerShell?
Test-ComputerSecureChannel

Как восстановить безопасный канал между локальным компьютером и доменом с помощью PowerShell?
Test-ComputerSecureChannel -Repair

Как отключить учётную запись компьютера в Active Directory с помощью PowerShell?
Disable-ADAccount $computer

Как найти компьютеры с определённой операционной системой в Active Directory с помощью PowerShell?

Organizational Unit (OU)

Как создать Organizational Unit (OU) в Active Directory с помощью PowerShell?
New-ADOrganizationalUnit -Name 'STEVE' -Path 'DC=domain,DC=com'

Как получить информацию об Organizational Unit (OU) в Active Directory с помощью PowerShell?
Get-ADOrganizationalUnit 'OU=STEVE,DC=domain,DC=com' -Properties *

Как изменить описание Organizational Unit (OU) в Active Directory с помощью PowerShell?
Set-ADOrganizationalUnit 'OU=STEVE,DC=domain,DC=com' -Description 'My description'

Как включить/отключить защиту Organizational Unit (OU) от случайного удаления в Active Directory, с помощью PowerShell?

Как разрешить случайное удаление для всех Organizational Unit (OU) в Active Directory, с помощью PowerShell?

Как удалить Organizational Unit (OU), защищенный от случайного удаления, в Active Directory с помощью PowerShell?

Как преобразовать DistinguishedName Organizational Unit (OU) в CanonicalName в Active Directory с помощью PowerShell?

Как перечислить пустые Organizational Unit (OU) с помощью PowerShell?

Как узнать менеджера группы с помощью PowerShell?
(Get-ADGroup $dn -Properties Managedby).Managedby

Up


Regex (Regular Expression)

Как извлечь IP-адрес v4 (80.80.228.8) с помощью Regex, используя PowerShell?
$example = 'The IP address is 80.80.228.8'
$ip = [regex]::match($example,'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b').value

Как извлечь MAC-адрес (C0-D9-62-39-61-2D) с разделителем “-” с помощью Regex, используя PowerShell?
$example = 'The MAC address is C0-D9-62-39-61-2D'
$mac = [regex]::match($example,'([0-9A-F]{2}[-]){5}([0-9A-F]{2})').value

Как извлечь MAC-адрес (C0:D9:62:39:61:2D) с разделителем “:” с помощью Regex, используя PowerShell?
$example = 'The MAC address is C0:D9:62:39:61:2D'
$mac = [regex]::match($example,'((\d|([a-f]|[A-F])){2}:){5}(\d|([a-f]|[A-F])){2}').value

Как извлечь дату (10/02/2015) с помощью Regex, используя PowerShell?
$example = 'The date is 10/02/2015'
$date = [regex]::match($example,'(\d{2}\/\d{2}\/\d{4})').value

Как извлечь URL-адрес (www.powershell-guru.com) с помощью Regex, используя PowerShell?
$example = 'The URL is www.powershell-guru.com'
$url = [regex]::match($example,'[a-z]+[:.].*?(?=\s)').value

Как извлечь адрес электронной почты (user@domain.com) с помощью Regex, используя PowerShell?
$example = 'The email is user@domain.com'
$email = [regex]::match($example,'(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b').value

Как извлечь “guru” из строки примера с помощью Regex, используя PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?=.com)').value

Как извлечь “guru.com” из строки примера с помощью Regex, используя PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?<=.)').value

Как извлечь “powershell-guru.com” из строки примера с помощью Regex, используя PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=www.)(.*\n?)').value

Как извлечь “123” из строки примера с помощью Regex, используя PowerShell?
$example = 'Powershell123'
[regex]::match($example,'(\d+)').value

Как извлечь “$” (знак доллара) из строки примера с помощью Regex, используя PowerShell?
$example = 'Powershell`$123'
[regex]::match($example,'(\$)').value

Как заменить символ (*.com) другим (*.fr) в строке с помощью Regex, используя PowerShell?
$example = 'www.powershell-guru.com'
[regex]::Replace($example, '.com','.fr')

Как экранировать строку с помощью Regex, используя PowerShell?
[regex]::Escape('\\server\share')

Up


Memory

Как форсировать уборку мусора сборщиком мусора с помощью PowerShell?
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Как узнать количество оперативной памяти компьютера с помощью PowerShell?

Up


Date

Как узнать текущую дату с помощью PowerShell?
Get-Date
[Datetime]::Now

Как отобразить дату в различных форматах с помощью PowerShell?

Как преобразовать дату (DateTime) в дату (String) с помощью PowerShell?

Как преобразовать дату (String) в дату (DateTime) с помощью PowerShell?

Как рассчитать разницу (количество дней, часов, минут или секунд) между двумя датами с помощью PowerShell?
(New-TimeSpan -Start $dateStart -End $dateEnd).Days
(New-TimeSpan -Start $dateStart -End $dateEnd).Hours
(New-TimeSpan -Start $dateStart -End $dateEnd).Minutes
(New-TimeSpan -Start $dateStart -End $dateEnd).Seconds

Как сравнить две даты с помощью PowerShell?
(Get-Date 2015-01-01) -lt (Get-Date 2015-01-30) # True
(Get-Date 2015-01-01) -gt (Get-Date 2015-01-30) # False

Как отсортировать массив дат в формате DateTime с помощью PowerShell?
$arrayDate | Sort-Object -Property {$_ -as [Datetime]}

Как запустить и остановить секундомер с помощью PowerShell?
$chrono = [Diagnostics.Stopwatch]::StartNew()
$chrono.Stop()
$chrono

Как узнать текущий день недели с помощью PowerShell?
(Get-Date).DayOfWeek #Sunday

Как узнать вчерашнюю дату с помощью PowerShell?
(Get-Date).AddDays(-1)

Как узнать количество дней в месяце (в феврале 2015 г.) с помощью PowerShell?
[DateTime]::DaysInMonth(2015, 2)

Как узнать високосный ли год с помощью PowerShell?
[DateTime]::IsLeapYear(2015)

Как перечислить часовые пояса с помощью PowerShell?
[System.TimeZoneInfo]::GetSystemTimeZones()

Up


Networking

Как закодировать и декодировать URL (в формате ASCII) с помощью PowerShell?

Какие эквиваленты родным сетевым командам в PowerShell?

Как получить IP-адреса с помощью PowerShell?
Get-NetIPAddress # Windows 8.1 & Windows 2012
Get-NetIPConfiguration # Windows 8.1 & Windows 2012

Как отключить IP адрес V6 (IPv6) с помощью PowerShell?

Как проверить валидность IP-адреса v4 (IPv4) с помощью PowerShell?
if([ipaddress]'10.0.0.1'){'validated'}

Как найти внешний IP-адрес с помощью PowerShell?

Как узнать имя хоста по IP-адресу с помощью PowerShell?
([System.Net.Dns]::GetHostEntry($IP)).Hostname

Как найти IP-адрес по имени хоста с помощью PowerShell?
([System.Net.Dns]::GetHostAddresses($computer)).IPAddressToString

Как узнать полное доменное имя из имени хоста с помощью PowerShell?
[System.Net.Dns]::GetHostByName($computer).HostName

Как узнать конфигурацию сети (IP, подсети, шлюз и DNS) с помощью PowerShell?

Как узнать MAC адрес с помощью PowerShell?
Get-CimInstance win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress
Get-WmiObject -Class win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress

Как проверить связь с компьютером с помощью PowerShell?

Как проверить, подключен ли компьютер к интернету, с помощью PowerShell?

Как узнать, кому принадлежит сайт, с помощью PowerShell?
$whois = New-WebServiceProxy 'http://www.webservicex.net/whois.asmx?WSDL'
$whois.GetWhoIs('powershell-guru.com')

Как получить информацию о публичном IP адресе (Геолокация) с помощью PowerShell?

Как проверить, открыт/закрыт ли порт, с помощью PowerShell?
New-Object -TypeName Net.Sockets.TcpClient -ArgumentList $computer, 135

Как выполнить команду “tracert” с помощью PowerShell?
Test-NetConnection www.google.com -TraceRoute

Как исправить профиль подключения домашней сети с помощью PowerShell?
Get-NetAdapter | Format-Table -Property Name, InterfaceDescription, ifIndex -AutoSize # Windows 8.1
Set-NetConnectionProfile -InterfaceIndex 6 -NetworkCategory Private

Как посмотреть соединения по TCP портам с помощью PowerShell?
netstat.exe -ano
Get-NetTCPConnection #Windows 8 and 2012

Как укоротить длинный URL с помощью PowerShell?
$url = 'www.powershell-guru.com'
$tiny = Invoke-RestMethod -Uri "http://tinyurl.com/api-create.php?url=$url"

Как узнать настройки прокси-сервера с помощью PowerShell?
Get-ItemProperty -Path HKCU:"Software\Microsoft\Windows\CurrentVersion\Internet Settings"

DNS

Как проверить кэш DNS на локальном компьютере с помощью PowerShell?
ipconfig.exe /displaydns
Get-DnsClientCache #Windows 8 and 2012

Как очистить кэш DNS на локальном компьютере с помощью PowerShell?
ipconfig.exe /flushdns
Start-Process -FilePath ipconfig -ArgumentList /flushdns -WindowStyle Hidden
Clear-DnsClientCache #Windows 8 and 2012

Как очистить кэш DNS на удалённых компьютерах с помощью PowerShell?
Invoke-Command -ScriptBlock {Clear-DnsClientCache} -ComputerName computer01, computer02

Как прочитать файл “hosts” с помощью PowerShell?
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'

Up


Password

Как создать случайный пароль с помощью PowerShell?
[Reflection.Assembly]::LoadWithPartialName('System.Web')
[System.Web.Security.Membership]::GeneratePassword(30,2)

Как изменить локальный пароль администратора на удалённом сервере с помощью PowerShell?
$admin = [ADSI]('WinNT://server01/administrator,user')
$admin.SetPassword($password)
$admin.SetInfo()

Как узнать срок действия пароля учётной записи в Active Directory с помощью PowerShell?

Up


Printers

Как посмотреть список принтеров для конкретного сервера с помощью PowerShell?
Get-WmiObject -Query 'Select * From Win32_Printer' -ComputerName $computer

Как перечислить все порты для конкретного сервера с помощью PowerShell?
Get-WmiObject -Class Win32_TCPIPPrinterPort -Namespace 'root\CIMV2' -ComputerName $computer

Как изменить комментарий/расположение принтера с помощью PowerShell?

Как очистить очередь печати принтера с помощью PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.CancelAllJobs()

Как напечатать тестовую страницу на принтере с помощью PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.PrintTestPage()

Как посмотреть очереди печати для принтеров с помощью PowerShell?

Up


Regedit

Read

Как посмотреть список файлов реестра с помощью PowerShell?
Get-ChildItem -Path Registry::

Как получить значения реестра и типы этих значений с помощью PowerShell?

Как посмотреть подразделы ключей реестра с помощью PowerShell?

Как посмотреть подразделы ключей реестра, используя рекурсивный метод, с помощью PowerShell?
Get-ChildItem -Path 'HKLM:\SYSTEM' -Recurse -ErrorAction SilentlyContinue

Как найти подразделы с определённым именем с помощью PowerShell?
Get-ChildItem -Path 'HKLM:\SOFTWARE' -Include *Plugin* -Recurse -ErrorAction SilentlyContinue

Как вернуть только имя подразделов реестра с помощью PowerShell?
(Get-ChildItem -Path 'HKLM:\SYSTEM').Name # Return HKEY_LOCAL_MACHINE\SYSTEM\ControlSet
Get-ChildItem -Path 'HKLM:\SYSTEM' -Name # Return ControlSet

Как перечислить значения реестра с помощью PowerShell?
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

Как прочитать определённое значение реестра с помощью PowerShell?
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').ProductName

Как прочитать определённое значение реестра на удалённом компьютере с помощью PowerShell?

Write

Как создать новый раздел реестра с помощью PowerShell?
New-Item -Path 'HKCU:\Software\MyApplication'

Как создать значение реестра с помощью PowerShell?
New-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '1.0'

Как изменить существующее значение реестра с помощью PowerShell?
Set-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '2.0'

Delete

Как удалить значения реестра с помощью PowerShell?
Remove-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version'

Как удалить ключ реестра с помощью PowerShell?
Remove-Item -Path 'HKCU:\Software\MyApplication' -Force

Test

Как проверить, существует ли раздел реестра, с помощью PowerShell?
Test-Path -Path 'HKCU:\Software\MyApplication'

Как проверить, содержит ли реестр значение, используя PowerShell?
(Get-Item -Path 'HKCU:\Software\MyApplication').GetValueNames() -contains 'Version'

Up


Strings

Как удалить пробелы из начала строки с помощью PowerShell?
$string = ' PowershellGuru'
$string = $string.TrimStart()

Как удалить пробелы в конце строки с помощью PowerShell?
$string = 'PowershellGuru '
$string = $string.TrimEnd()

Как удалить пробелы в начале и в конце строки с помощью PowerShell?
$string = ' PowershellGuru '
$string = $string.Trim()

Как преобразовать символы в строке в символы верхнего регистра с помощью PowerShell?
$string = 'powershellguru'
$string = $string.ToUpper()

Как преобразовать символы в строке в символы нижнего регистра с помощью PowerShell?
$string = 'POWERSHELLGURU'
$string = $string.ToLower()

Как выбрать подстроку “Powershell” из строки “PowershellGuru” с помощью PowerShell?
$string.Substring(0,10)

Как выбрать подстроку “Guru” из строки “PowershellGuru” с помощью PowerShell?
$string.Substring(10)

Как выбрать номер “123” из “Powershell123Guru” с помощью PowerShell?
$string = 'Powershell123Guru'
[regex]::match($string,'(\d+)').value

Как получить индекс подстроки “Guru” в строке “PowershellGuru” с помощью PowerShell?
$string.IndexOf('Guru') # 10

Как узнать является ли строка пустой с помощью PowerShell?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Как узнать, является ли строка пустой, либо состоящей лишь из пробелов, с помощью PowerShell?
$string = $null
$string = ''
$string = ' '
[string]::IsNullOrWhiteSpace($string)

Как проверить, содержит ли строка определённые символы, с помощью PowerShell?
$string = 'PowershellGuru'
$string.Contains('s')
[regex]::match($string,'s').Success

Как узнать длину строки с помощью PowerShell?
$string.Length

Как объединить две строки с помощью PowerShell?

Как проверить наличие одной или нескольких скобок “[ ]” в строке с помощью PowerShell?
$string = '[PowershellGuru]'
$string -match '\[' # Only 1
$string -match '\[(.*)\]' # Several

Как проверить наличие одной или нескольких круглых скобок “( )” в строке с помощью PowerShell?
$string = '(PowershellGuru)'
$string -match '\(' # Only 1
$string -match '\((.*)\)' # Several

Как проверить наличие одной или нескольких фигурных скобок “{ }” в строке с помощью PowerShell?
$string = '{PowershellGuru}'
$string -match '\{' # Only 1
$string -match '\{(.*)\}' # Several

Как проверить наличие одной или нескольких скобок “< >” в строке с помощью PowerShell?
$string = ''
$string -match '\<' # Only 1
$string -match "\<(.*)\>" # Several

Как проверить наличие строчных букв (abc) в строке с помощью PowerShell?
$string = 'POWERSHELLGURU'
$string -cmatch "^[a-z]*$" #False

Как проверить наличие прописных букв (ABC) в строке с помощью PowerShell?
$string = 'powershellguru'
$string -cmatch "^[A-Z]*$" #False

Как проверить наличие “[p” (p строчная) в строке с помощью PowerShell?
$string = '[powershellGuru]'
$string -cmatch '\[[a-z]\w+' #True

Как проверить наличие “[P” (P прописная) в строке с помощью PowerShell?
$string = '[PowershellGuru]'
$string -cmatch '\[[A-Z]\w+' #True

Как заменить одну строку другой с помощью PowerShell?
$a = 'Line A'
$b = 'Line B'
$a = $a -replace $a, $b

Как преобразовать операцию деления в строку (в процентах) с помощью PowerShell?
(1/2).ToString('P')

Как сортировать строки, содержащие цифры, с помощью PowerShell?

Как выбрать последнее слово в предложении с помощью PowerShell?
$sentence = 'My name is Steve Renard'
$sentence.Split(' ')[-1] # Returns Renard

Как выбрать самое длинное слово в предложении с помощью PowerShell?
$sentence = 'My name is Steve Renard'
$sentence.Split(' ') | Sort-Object -Property Length | Select-Object -Last 1 # Returns Renard

Как подсчитать, сколько раз строка встречается в предложении, с помощью Powershell?
$sentence = 'steve steve steve renard'
[regex]::Matches($sentence, 'steve').Count # Returns 3

Как скопировать каждый символ в строке в массив символов с помощью PowerShell?

Как преобразовать первую букву строки в прописную с помощью PowerShell?

Как добавить в строку (слева или справа) с помощью Powershell?

Как закодировать и декодировать строку в Base64 с помощью Powershell?

Как преобразовать число в двоичную систему исчисления и наоборот с помощью PowerShell?

Как вернуть имя только последней папки пути с помощью PowerShell?

Как вернуть имя только последнего элемента пути с помощью PowerShell?

Up


Math

Как перечислить методы класса System.Math с помощью PowerShell?
[System.Math] | Get-Member -Static -MemberType Method

Как вернуть абсолютное значение с помощью PowerShell?
[Math]::Abs(-12) #Returns 12
[Math]::Abs(-12.5) # Returns 12.5

Как вычислить угол, синус которого имеет определенное значение, с помощью PowerShell?
[Math]::ASin(1) #Returns 1,5707963267949

Как округлить число в большую сторону с помощью PowerShell?
[Math]::Ceiling(1.4) #Returns 2
[Math]::Ceiling(1.9) #Returns 2

Как округлить число в меньшую сторону с помощью PowerShell?
[Math]::Floor(1.4) #Returns 1
[Math]::Floor(1.9) #Returns 1

Как вычислить простой логарифм заданного числа (по основанию e), с помощью PowerShell?
[Math]::Log(4) #Returns 1,38629436111989

Как вычислить десятичный логарифм заданного числа с помощью PowerShell?
[Math]::Log10(4) #Returns 0,602059991327962

Как вернуть максимум из двух значений с помощью PowerShell?
[Math]::Max(2,4) #Returns 4
[Math]::Max(-2,-4) #Returns -2

Как вернуть минимум из двух значений с помощью PowerShell?
[Math]::Min(2,4) #Returns 2
[Math]::Max(-2,-4) #Returns -4

Как получить число, возведённое в указанную степень, с помощью PowerShell?
[Math]::Pow(2,4) #Returns 16

Как округлить десятичное значение до ближайшего целого значения с помощью PowerShell?
[Math]::Round(3.111,2) #Returns 3,11
[Math]::Round(3.999,2) #Returns 4

Как получить целое с округлением до меньшего по модулю с помощью PowerShell?
[Math]::Truncate(3.111) #Returns 3
[Math]::Truncate(3.999) #Returns 3

Как получить квадратный корень заданного числа с помощью PowerShell?
[Math]::Sqrt(16) #Returns 4

Как получить значение числа PI с помощью PowerShell?
[Math]::Pi #Returns 3,14159265358979

Как вычислить основание натурального логарифма (числа “е”) с помощью PowerShell?
[Math]::E #Returns 2,71828182845905

Как определить, является ли число чётным или нечётным, с помощью PowerShell?
[bool]($number%2)

Up


Hashtables

Как создать пустую хэш-таблицу с помощью PowerShell?
$hashtable = @{}
$hashtable = New-Object -TypeName System.Collections.Hashtable

Как создать хэш-таблицу с элементами с помощью PowerShell?

Как создать хэш-таблицу отсортированных по ключу/имени элементов (упорядоченных по алфавиту), используя PowerShell?

Как добавить элементы (ключ-значение) в хэш-таблицу с помощью PowerShell?
$hashtable.Add('Key4', 'Value4')

Как получить конкретное значение из хэш-таблицы с помощью PowerShell?

Как получить минимальное значение из хэш-таблицы с помощью PowerShell?

Как получить максимальное значение из хэш-таблицы с помощью PowerShell?

Как изменить элементы в хэш-таблице с помощью PowerShell?
$hashtable.Set_Item('Key1', 'Value1Updated')

Как удалить элементы хэш-таблицы с помощью PowerShell?
$hashtable.Remove('Key1')

Как очистить хэш-таблицу с помощью PowerShell?
$hashtable.Clear()

Как проверить наличие определенного ключа/значения в хэш-таблице с помощью PowerShell?
$hashtable.ContainsKey('Key3')
$hashtable.ContainsValue('Value3')

Как сортировать элементы по ключу/значению в хэш-таблице с помощью PowerShell?
$hashtable.GetEnumerator() | Sort-Object -Property Name
$hashtable.GetEnumerator() | Sort-Object -Property Value -Descending

Up


Arrays

Как объявить массив с помощью PowerShell?
$array = @()
$array = [System.Collections.ArrayList]@()

Как объявить массив с элементами с помощью PowerShell?
$array = @('A', 'B', 'C')
$array = 'A', 'B', 'C'
$array = 'a,b,c'.Split(',')
$array = .{$args} a b c
$array = echo a b c

Как добавить элементы в массив с помощью PowerShell?
$array += 'D'
[void]$array.Add('D')

Как изменить элемент в массиве с помощью PowerShell?
$array[0] = 'Z' # 1st item[0]

Как проверить размер массива с помощью PowerShell?
$array = 'A', 'B', 'C'
$array.Length # Returns 3

Как получить один элемент массива/несколько элементов/все элементы массива с помощью PowerShell?
$array = @('A', 'B', 'C')
$array[0] # One item (A)
$array[0] + $array[2] # Several items (A,C)
$array # All items (A,B,C)

Как удалить пустые элементы в массиве с помощью PowerShell?
$array = @('A', 'B', 'C', '')
$array = $array.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) | Sort-Object # A,B,C

Как проверить, существует ли элемент в массиве, с помощью PowerShell?
$array = @('A', 'B', 'C')
'A' | ForEach-Object -Process {$array.Contains($_)} # Returns True
'D' | ForEach-Object -Process {$array.Contains($_)} # Returns False

Как узнать порядковый номер элемента в массиве с помощью PowerShell?
$array = @('A', 'B', 'C')
[array]::IndexOf($array,'A') # Returns 0

Как изменить порядок элементов в массиве с помощью PowerShell?
$array = @('A', 'B', 'C')
[array]::Reverse($array) # C,B,A

Как вернуть случайный элемент массива с помощью PowerShell?
$array | Get-Random

Как отсортировать массив по возрастанию/убыванию с помощью PowerShell?
$array = @('A', 'B', 'C')
$array | Sort-Object # A,B,C
$array | Sort-Object -Descending # C,B,A

Как подсчитать количество элементов в массиве с помощью PowerShell?
$array.Count

Как объединить два массива с помощью PowerShell?
$array1 = 'A', 'B', 'C'
$array2 = 'D', 'E', 'F'
$array3 = $array1 + $array2 # A,B,C,D,E,F

Как найти повторяющиеся элементы массива с помощью PowerShell?
$array = 'A', 'B', 'C', 'C'
($array | Group-Object | Where-Object -FilterScript {$_.Count -gt 1}).Values # Returns C

Как удалить повторяющиеся элементы из массива с помощью PowerShell?
$array = 'A', 'B', 'C', 'C'
$array = $array | Select-Object -Unique
$array # Returns A,B,C

Как создать массив с элементами, начинающимися с определенного префикса (“user01”, “user02”, …, “user10”), с помощью PowerShell?
$array = 1..10 | ForEach-Object -Process { "user$_" }

Up


ACL

Как перечислить все ACL пользователя AD с помощью PowerShell?
(Get-Acl -Path "AD:\$dn").Access

Как перечислить все ACL-папки с помощью PowerShell?
(Get-Acl -Path C:\scripts).Access

Как перечислить конкретные разрешения ACL (пользователей или группы) пользователя AD с помощью PowerShell?

Up


Variables

Каковы наиболее распространённые типы данных в PowerShell?

Как найти минимальное и максимальное значения некоторых типов переменных с помощью PowerShell?

Как проверить тип данных с помощью PowerShell?

Как создать переменную Here-String с помощью PowerShell?

Как создать переменную с помощью PowerShell?
$powershellGuru = 'Hello'

Как создать постоянную переменную с помощью PowerShell?
Set-Variable -Name powershellGuru -Value 2015 -Option Constant

Как создать глобальную переменную с помощью PowerShell?
$Global:powershellGuru = 'Hello' # Note : creating global variables is not recommended

Как прочитать значение переменной с помощью PowerShell?
$powershellGuru = 'Hello' # Create
$powershellGuru # Read
Get-Variable -Name powershellGuru -ValueOnly # Read

Как проверить тип переменной с помощью PowerShell?
$powershellGuru.GetType()

Как найти переменные в глобальной области видимости с помощью PowerShell?
Get-Variable -Scope Global

Как получить конкретные переменные по имени с помощью PowerShell?
Get-Variable -Include *Preference -Exclude W*

Как присвоить переменной определенный тип данных с помощью PowerShell?
[int64]$variable = 100
[string]$variable = 'PowershellGuru'

Как создать несколько переменных с одним и тем же значением с помощью PowerShell?
$a = $b = $c = $d = $e = 0

Какой алиас у переменной “$_” в PowerShell?
Get-Process | Where-Object -FilterScript {$_.Handles -gt 1000} # Using $_
Get-Process | Where-Object -FilterScript {$PSItem.Handles -gt 1000} # Using $PSItem (since version 3)

Как удалить все переменные с именем, начинающимся с “count”, с помощью PowerShell?
Remove-Variable -Name count*

Как задать переменную среды с помощью PowerShell?
Get-ChildItem -Path Env:

Как получить переменную среды Path с помощью PowerShell?
($env:Path) -replace(';', "`n")
[Environment]::GetEnvironmentVariable('Path') -replace(';', "`n")

Как добавить новый путь (например: C:\SysinternalsSuite) к переменной среды Path с помощью PowerShell?
$env:Path += ';C:\SysinternalsSuite'
$env:Path = $env:Path + ';C:\SysinternalsSuite'

Как объединить переменные в Powershell?
$a = 'Powershell'
$b = '- Guru'
$c = $a + $b

Как использовать ErrorVariable с помощью PowerShell?
Get-Process -Name abcde -ErrorAction SilentlyContinue -ErrorVariable AccessDenied
$AccessDenied | Select-Object -Property Exception
$AccessDenied | Select-Object -Property TargetObject

Как включить/отключить эквивалент “Option Explicit” (VBScript: требуется объявленная переменная) с помощью PowerShell?

Up


Static .NET Methods

Как создать статические члены данных с помощью PowerShell?
[DateTime] | Get-Member -Static

Up


Sounds

Как проиграть звуковой сигнал “beep” с помощью PowerShell?
[System.Console]::Beep()

Как проиграть звуковой сигнал “Asterisk” с помощью PowerShell?
[System.Media.SystemSounds]::Asterisk.Play()

Как проиграть звуковой сигнал “exclamation” с помощью PowerShell?
[System.Media.SystemSounds]::Exclamation.Play()

Как получить список доступных звуков с помощью PowerShell?
[System.Media.SystemSounds] | Get-Member -Static

Как проиграть .WAV-файлы с помощью PowerShell?
$soundPlayer = New-Object -TypeName System.Media.SoundPlayer -ArgumentList "$env:windir\Media\Ringout.wav"
$soundPlayer.Play()
или
$soundPlayer.PlayLooping()
$soundPlayer.Stop()

Как прослушать набранный текст с помощью PowerShell?
Add-Type -AssemblyName System.Speech
$speech = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer
$speech.Speak('Hello PowershellGuru')