FAQ POWERSHELL УКРАЇНСЬКОЮ МОВОЮ

By | April 8, 2015

translated-ukrainian-v2


beta-v2-0


Концепція : Найбільш поширені питання про Powershell.

Ви можете використовувати цей список по-різному :

  • Щоб скопіювати/вставити команди в сценарій
  • Щоб швидко побачити синтаксис певної команди
  • Щоб покращити ваші технічні знання
  • Щоб дізнатися нові команди
  • Для підготовки до співбесіди

Оновлений
6 жовтня 2015
Автор Steve Renard
Джерело ukrainian.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 за допомогою 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?

Як монтувати файли ISO / VHD за допомогою Powershell?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Як перевірити версії встановлених .NET Framework за допомогою Powershell?

Як перевірити чи встановлен .NET Framework версії 4.5 за допомогою 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 (Глобальний кеш збірок) шлях за допомогою 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 МБ) на диску 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 (підрозділ) для користувача в 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

Як відобразити додаткові та обов’язкові властивості для класу «Користувач» з Active Directory за допомогою PowerShell?

Як отримати LDAP шлях для користувача з Active Directory за допомогою PowerShell?

Як змінити CN (канонічне ім’я) для користувача 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 units (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

Як закодувати (у формат ASCII) і декодувати URL за допомогою 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?

Як виконати whois для веб-сайту за допомогою 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 у крихітній 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

Як перевірити чи рядок null або порожній за допомогою Powershell?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Як перевірити чи рядок null, порожній, або складається тільки з символів пробілу за допомогою 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

Як повернути натуральний (з основою е) логарифм заданого числа за допомогою 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('Hel