FAQ POWERSHELL W JĘZYKU POLSKIM

By | April 8, 2015

translated-polish-v3


Koncepcja : Najczęściej zadawane pytania na temat PowerShell.

Przykładowe sposoby korzystania z tej listy :

  • Kopiowanie i wklejanie poleceń do skryptu
  • Szybkie sprawdzenie składni określonego polecenia
  • Zdobywanie wiedzy technicznej
  • Poznanie nowych komend
  • Przygotowanie do rozmowy kwalifikacyjnej

Aktualizacja
07 października 2015
Autor powershell-guru.com
Źródło polish.powershell-guru.com
Kategorie
75
Pytania
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

Jak sprawdzić aktualną wersję PowerShell?

Jak uruchomić PowerShell w innej wersji dla uzyskania wstecznej kompatybilności?
powershell.exe -Version 2.0

Jak za pomocą PowerShell zażądać w skrypcie uruchomienia minimalnej wersji PowerShell (3.0 i wyżej)?
#Requires -Version 3.0

Jak w PowerShell zażądać uprawnień administratora dla skryptu?

Jak w PowerShell sprawdzić parametry skryptu?
help -Name .\Get-ExchangeEnvironmentReport.ps1 -Full

Jak w PowerShell uzyskać informacje dla bieżącego użytkownika?
[Security.Principal.WindowsIdentity]::GetCurrent()

Jak w PowerShell tworzyć, edytować i załadować ponownie profil?

Jak za pomocą PowerShell zrobić w skrypcie przerwę długości 5 sekund/minut (seconds/minutes)?
Start-Sleep -Seconds 5
Start-Sleep -Seconds 300 # 5 minutes

Jak w PowerShell sprawdzić czas od ostatniego uruchamiania?
(Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime

Jak w PowerShell wyświetlić “type accelerators”?

Jak za pomocą PowerShell wyświetlić listę programów startowych?

Jak za pomocą PowerShell odinstalować aplikację?

Jak w PowerShell wykonać zrzut ekranu całego pulpitu lub tylko aktywnego okna?
Take-ScreenShot -Screen -File 'C:\scripts\screenshot.png' -Imagetype JPEG
Repository : Take-ScreenShot

Jak w PowerShell uzyskać liczbę wiadomości dla kolejek MSMQ?

Jak ustawić zasady wykonywania poleceń za pomocą PowerShell?

Jak w PowerShell utworzyć skrót?

Jak w PowerShell przypiąć lub odpiąć program do/z paska zadań (pin/unpin)?

Jak w PowerShell otworzyć okno Eksploratora?
[Diagnostics.Process]::Start('explorer.exe')
Invoke-Item -Path C:\Windows\explorer.exe

Jak w PowerShell wyświetlić listę sterowników urządzeń?
Get-WmiObject -Class Win32_PnPSignedDriver
Get-WindowsDriver -Online -All
driverquery.exe

Jak w PowerShell utworzyć identyfikator GUID?

Jak w PowerShell wyświetlić lokalizację katalogu tymczasowego dla bieżącego użytkownika?
[System.IO.Path]::GetTempPath()

Jak w PowerShell połączyć ścieżkę ze ścieżką niższego rzędu?
Join-Path -Path C:\ -ChildPath \windows

Jak w PowerShell wyświetlić wszystkie polecenia Cmdlets “Get-*”?
Get-Command -Verb Get

Jak w PowerShell wyświetlić listę specjalnych folderów systemowych?

Jak w PowerShell zamontować pliki ISO/VHD?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Jak za pomocą PowerShell sprawdzić zainstalowane wersje .NET Framework?

Jak w PowerShell sprawdzić, czy zainstalowana jest wersja .NET Framework 4.5?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full' -EA 0).Version -like '4.5*'

Jak za pomocą PowerShell rozpocząć i zakończyć rejestrację sesji PowerShell Windows?
Start-Transcript -Path 'C:\scripts\transcript.txt
Stop-Transcript

Jak w PowerShell zmienić folder bieżący na inną określoną lokalizację?
Set-Location -Path 'C:\scripts'

Jak w PowerShell wyczyścić ekran?
Clear-Host
cls # Alias

Jak w PowerShell zmienić rozdzielczość ekranu?
Set-DisplayResolution -Width 1280 -Height 1024 -Force # Windows 2012

Jak w PowerShell ustawić tryb pełnoekranowy okna?
mode.com 300

Jak w PowerShell wyświetlić szerokość i wysokość (width/height) zdjęcia?

Jak w PowerShell uzyskać klucz produktu systemu Windows?

Perfmon

Jak w PowerShell wyświetlić średni czas procesora (% Processor Time) w ciągu ostatnich 5 sekund (średnia dla 10 prób)?
(Get-Counter '\Processor(_total)\% Processor Time' -SampleInterval 5 -MaxSamples 10).CounterSamples.CookedValue

Assemblies

Jak w PowerShell załadować biblioteki .dll?

Jak w PowerShell sprawdzić aktualnie załadowane zestawy .NET?

Jak w PowerShell wyświetlić ścieżkę GAC (Global Assembly Cache)?

Clipboard

Jak w PowerShell skopiować wyniki do schowka?

Jak w PowerShell wyświetlić zawartość schowka?
Add-Type -AssemblyName PresentationCore
[Windows.Clipboard]::GetText()

Hotfixes

Jak za pomocą PowerShell wyświetlić zainstalowane poprawki (hotfix)?
Get-HotFix -ComputerName $computer

Jak w PowerShell wyświetlić poprawki (hotfix) zainstalowane przed/po (before/after) określonej dacie?
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

Jak w PowerShell sprawdzić, czy dana poprawka (hotfix) jest zainstalowana?
Get-HotFix -Id KB2965142

Jak w PowerShell wyświetlić poprawki (hotfix) zainstalowane na komputerze zdalnym?
Get-HotFix -ComputerName $computer

Pagefile

Jak za pomocą PowerShell wyświetlić informacje o pliku stronicowania?
Get-WmiObject -Class Win32_PageFileusage | Select-Object -Property Name, CurrentUsage, AllocatedBaseSize, PeakUsage, InstallDate

Jak w PowerShell wyświetlić zalecany rozmiar dla pliku stronicowania (w MB)?
[Math]::Truncate(((Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory) / 1MB) * 1.5

Jak w PowerShell utworzyć plik stronicowania (4096 MB) na dysku D:?

Jak w PowerShell usunąć plik stronicowania z dysku C:?

Maintenance

Jak w PowerShell sprawdzić stan fragmentacji dysku?

Jak w PowerShell sprawdzić ilość wolnego miejsca na dyskach?

Up


Files

Jak w PowerShell otworzyć plik?
Invoke-Item -Path 'C:\scripts\file.txt'
.'C:\scripts\file.txt'

Jak w PowerShell odczytać plik?
Get-Content -Path 'C:\scripts\file.txt'
gc "C:\scripts\file.txt" # Alias

Jak za pomocą PowerShell zapisać dane wyjściowe (output) do pliku?

Jak w PowerShell wyświetlić pełną nazwę bieżącego pliku skryptu?
$MyInvocation.MyCommand.Path

Jak w PowerShell skompresować/spakować pliki?

Jak w PowerShell rozkompresować/rozpakować pliki?

Jak w PowerShell wyświetlić zawartość plików w archiwum ZIP?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::OpenRead($fileZIP)

Jak w PowerShell wyświetlić rozmiar pliku w KB?
(Get-ChildItem -Path .\winsrv.dll).Length /1KB
(Get-ChildItem -Path .\winsrv.dll).Length /1MB
(Get-ChildItem -Path .\winsrv.dll).Length /1GB

Jak w PowerShell znaleźć pliki większe lub mniejsze niż 1 GB?

Jak w PowerShell wyświetlić nazwę pliku bez rozszerzenia?
[System.IO.Path]::GetFileNameWithoutExtension('C:\Windows\system32\calc.exe') # Return calc

Jak w PowerShell wyświetlić rozszerzenie pliku?
[System.IO.Path]::GetExtension('C:\scripts\file.txt') # Return .txt

Jak w PowerShell wyświetlić wersję pliku?

Jak w PowerShell wyświetlić wartość funkcji mieszającej pliku (hash)?
(Get-FileHash $file).Hash

Jak w PowerShell uzyskać sumy kontrolne MD5/SHA1 danego pliku?
Get-FileHash $file -Algorithm MD5
Get-FileHash $file -Algorithm SHA1

Jak w PowerShell wyświetlić ukryte pliki?

Jak w PowerShell sprawdzić, czy plik ma rozszerzenie?

Jak w PowerShell ustawić atrybuty pliku na “tylko do odczytu”?
Set-ItemProperty -Path .\file.txt -Name IsReadOnly -Value $true

Jak w PowerShell zmienić dla danego pliku atrybut ostatni zapis (LastWriteTime) na ubiegły tydzień?
Set-ItemProperty -Path .\file.txt -Name LastWriteTime -Value ((Get-Date).AddDays(-7))
If not working, use Nirsoft tool: BulkFileChanger.

Jak w PowerShell utworzyć nowy plik?
New-Item -ItemType File -Path 'C:\scripts\file.txt' -Value 'FirstLine'

Jak w PowerShell zmienić nazwę pliku?
Rename-Item -Path 'C:\scripts\file.txt' -NewName 'C:\scripts\powershellguru2.txt'

Jak w PowerShell masowo zmienić nazwy plików?
Get-ChildItem -Path C:\scripts\txt | Rename-Item -NewName { $_.Name -replace ' ', '_' }

Jak w PowerShell usunąć plik?
Remove-Item -Path 'C:\scripts\file.txt'

Jak w PowerShell wyświetlić 10 ostatnich linii pliku?
Get-Content -Path 'C:\scripts\log.txt' -Tail 10

Jak w PowerShell odblokować dostęp do kilku plików w danym folderze?
Get-ChildItem -Path 'C:\scripts\Modules' | Unblock-File

Jak w PowerShell usunąć puste wiersze z pliku?
(Get-Content -Path file.txt) | Where-Object -FilterScript {$_.Trim() -ne '' } | Set-Content -Path file.txt

Jak za pomocą PowerShell sprawdzić, czy plik istnieje?

Jak w PowerShell znaleźć najnowszy/najstarszy (newest/oldest) utworzony plik w danym folderze?

Jak w PowerShell usunąć duplikaty wierszy z danego pliku?

Jak w PowerShell wyświetlić pliki znajdujące się w danym folderze, utworzone wcześniej/później (more/less) niż 1 miesiąc temu?

Jak w PowerShell wyświetlić pliki znajdujące się w danym folderze, utworzone wcześniej/później (more/less) niż rok temu?

Jak w PowerShell wyeksportować wartość zmiennej do pliku?
Set-Content -Path file.txt -Value $variable

Jak w PowerShell wyświetlić liczbę plików *.txt w danym folderze?

Jak w PowerShell wyszukać ciąg znaków wewnątrz wielu plików?
Select-String -Path 'C:\*.txt' -Pattern 'Test'

Jak w PowerShell wyświetlić pierwszą/ostatnią (first/last) linię pliku?

Jak w PowerShell wyświetlić określoną linię pliku?

Jak za pomocą PowerShell wyświetlić liczbę linii w pliku?

Jak za pomocą PowerShell wyświetlić liczbę znaków i słów w pliku?

Jak w PowerShell pobrać plik z sieci?
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\tools\searchmyfiles.zip'

Jak w PowerShell wyświetlić pełną ścieżkę do pliku?
Resolve-Path -Path .\script.ps1 # Return C:\Scripts\script.ps1

Copy

Jak w PowerShell skopiować jeden plik do folderu?
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'

Jak w PowerShell skopiować jeden plik do wielu folderów?

Jak w PowerShell skopiować kilka plików do jednego folderu?
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

Jak za pomocą PowerShell wyświetlić serwery Katalogu Globalnego (Global Catalog) w usłudze Active Directory?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs

Jak za pomocą PowerShell wyświetlić strony w usłudze Active Directory?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites

Jak w PowerShell znaleźć aktualny kontroler domeny?

Jak za pomocą PowerShell wyświetlić wszystkie kontrolery danej domeny?

Jak w PowerShell wyświetlić błędy replikacji AD?
Get-ADReplicationFailure dc02.domain.com # Windows 8 and 2012

Jak za pomocą PowerShell znaleźć czas istnienia reliktu dla lasu w usłudze Active Directory?

Jak za pomocą PowerShell wyświetlić szczegółowe informacje o lesie/domenie (forest/domain) w usłudze Active Directory?

Jak za pomocą PowerShell wyświetlić ścieżkę kontenera usuniętych obiektów w usłudze Active Directory?
(Get-ADDomain).DeletedObjectsContainer

Jak za pomocą PowerShell włączyć w usłudze Active Directory funkcję Kosz AD?

Jak za pomocą PowerShell przywrócić w usłudze Active Directory konto AD z Kosza?
Get-ADObject -Filter 'samaccountname -eq "powershellguru"' -IncludeDeletedObjects | Restore-ADObject

Jak w PowerShell znaleźć role FSMO?

Jak w PowerShell połączyć się z konkretnym kontrolerem domeny?
Get-ADUser -Identity $user -Server 'serverDC01'

Jak w PowerShell wyświetlić informację o aktualnym serwerze logowania?

Jak w PowerShell wykonać “gpupdate”?
Invoke-GPUpdate -Computer $computer -Force -RandomDelayInMinutes 0 # Windows 2012

Groups

Jak za pomocą PowerShell utworzyć nową grupę w usłudze Active Directory?

Jak za pomocą PowerShell usunąć grupę w usłudze Active Directory?
Remove-ADGroup -Identity 'PowershellGuru'

Jak za pomocą PowerShell dodać użytkownika do grupy w Active Directory?
Add-ADGroupMember "Powershell Guru" -Members powershellguru

Jak za pomocą PowerShell usunąć użytkownika z grupy w Active Directory?
Remove-ADGroupMember 'Powershell Guru' -Members powershellguru

Jak za pomocą PowerShell znaleźć puste grupy w usłudze Active Directory?
Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}

Jak za pomocą PowerShell wyświetlić ilość pustych grup w usłudze Active Directory?
(Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}).Count

Jak za pomocą PowerShell wyświetlić listę członków grupy w Active Directory?

Jak za pomocą PowerShell wyświetlić listę rekursywnych członków grupy w usłudze Active Directory?

Jak za pomocą PowerShell wyświetlić liczbę członków grupy z/bez rekursywnych (recursive) członków w usłudze Active Directory?

Users

Jak za pomocą PowerShell używać symboli wieloznacznych dla filtra “Get-ADUser” w usłudze Active Directory?

Jak za pomocą PowerShell przenieść użytkownika do innej jednostki organizacyjnej w usłudze Active Directory?
Move-ADObject -Identity $dn -TargetPath 'OU=myOU,DC=domain,DC=com'

Jak w PowerShell wyświetlić wszystkie grupy danego użytkownika (MemberOf)?
Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=$($dn))"

Jak w PowerShell wyświetlić nazwy skrócone wszystkich grup danego użytkownika (MemberOf)?
(Get-ADUser -Identity $user -Properties MemberOf).MemberOf | ForEach-Object -Process {($_ -split ',')[0].Substring(3)} | Sort-Object

Jak za pomocą PowerShell zmienić w usłudze Active Directory atrybuty: pełna nazwa (FullName), nazwa wyświetlana (DisplayName), imię (GivenName) i nazwisko (Surname) dla konta danego użytkownika?

Jak za pomocą PowerShell zmienić w usłudze Active Directory następujące atrybuty: opis (Description), biuro (Office) i numer telefonu (Telephone, Phone) dla konta danego użytkownika?
Set-ADUser $samAccountName -Description 'IT Consultant' -Office 'Building B' -OfficePhone '12345'

Jak za pomocą PowerShell ustawić datę ważności na “31/12/2015” lub “nigdy” dla konta danego użytkownika w usłudze Active Directory?

Jak za pomocą PowerShell odblokować konto użytkownika w usłudze Active Directory?
Unlock-ADAccount $samAccountName

Jak za pomocą PowerShell włączyć/wyłączyć (enable/disable) konto użytkownika w usłudze Active Directory?

Jak za pomocą PowerShell usunąć konto użytkownika w usłudze Active Directory?
Remove-ADUser $samAccountName

Jak za pomocą PowerShell zresetować hasło do konta użytkownika w usłudze Active Directory?

Jak za pomocą PowerShell zresetować hasło do kilku kont użytkowników w usłudze Active Directory?

Jak za pomocą PowerShell znaleźć właściciela pliku w usłudze Active Directory?

Jak za pomocą PowerShell znaleźć jednostkę organizacyjną (Organizational Unit) dla danego użytkownika w usłudze Active Directory?
[regex]::match("$((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName)",'(?=OU=)(.*\n?)').value

Jak za pomocą PowerShell znaleźć nieaktywne konta użytkowników w Active Directory?

Jak za pomocą PowerShell znaleźć wygasłe konta użytkowników w usłudze Active Directory?
Search-ADAccount -AccountExpired

Jak za pomocą PowerShell znaleźć zablokowane konta użytkowników w usłudze Active Directory?
Search-ADAccount -LockedOut

Jak za pomocą PowerShell znaleźć SID konta użytkownika w usłudze Active Directory?
(Get-ADUser -Identity $user -Properties SID).SID.Value

Jak za pomocą PowerShell przekonwertować nazwę użytkownika na SID w usłudze Active Directory?

Jak za pomocą PowerShell przekonwertować SID na nazwę użytkownika w usłudze Active Directory?

Jak za pomocą PowerShell podzielić nazwę wyróżniającą konta użytkownika usługi Active Directory?

Jak za pomocą PowerShell znaleźć datę utworzenia/modyfikacji (creation/modification) konta użytkownika usługi Active Directory?
Get-ADUser -Identity $user -Properties whenChanged, whenCreated | Format-List -Property whenChanged, whenCreated

Jak za pomocą PowerShell wyświetlić opcjonalne oraz obowiązkowe właściwości dla klasy “użytkownik” (“User”) w Active Directory?

Jak za pomocą PowerShell uzyskać ścieżkę LDAP dla użytkownika usługi Active Directory?

Jak za pomocą PowerShell zmienić CN (Canonical Name) dla użytkownika usługi Active Directory?
Rename-ADObject $((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName) -NewName 'Test Powershell'

Jak za pomocą PowerShell wyświetlić jednostkę organizacyją (OU) macierzystą dla użytkownika usługi Active Directory?

Jak za pomocą PowerShell wyświetlić właściciela konta użytkownika (tego, który utworzył konto) Active Directory?

Jak za pomocą PowerShell zmodyfikować atrybut “ostatnia zmiana hasła” (pwdLastSet) dla użytkownika usługi Active Directory?

Computers

Jak za pomocą PowerShell przetestować bezpieczny kanał między komputerem lokalnym a domeną?
Test-ComputerSecureChannel

Jak za pomocą PowerShell naprawić bezpieczny kanał między komputerem lokalnym a domeną?
Test-ComputerSecureChannel -Repair

Jak za pomocą PowerShell wyłączyć konto danego komputera w usłudze Active Directory?
Disable-ADAccount $computer

Jak za pomocą PowerShell znaleźć komputery z konkretnym systemem operacyjnym w usłudze Active Directory?

Organizational Unit (OU)

Jak za pomocą PowerShell utworzyć jednostkę organizacyjną (OU) w usłudze Active Directory?
New-ADOrganizationalUnit -Name 'TEST' -Path 'DC=domain,DC=com'

Jak za pomocą PowerShell wyświetlić szczegóły jednostki organizacyjnej (OU) w usłudze Active Directory?
Get-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Properties *

Jak za pomocą PowerShell zmienić opis jednostki organizacyjnej (OU) w usłudze Active Directory?
Set-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Description 'My description'

Jak za pomocą PowerShell zabezpieczyć/odbezpieczyć (Protection ON/OFF) jednostkę organizacyjną (OU) przed przypadkowym usunięciem w usłudze Active Directory?

Jak za pomocą PowerShell włączyć ochronę przed przypadkowym usunięciem dla całej jednostki organizacyjnej (OU) w usłudze Active Directory?

Jak w usłudze Active Directory za pomocą PowerShell usunąć jednostkę organizacyjną (OU) zabezpieczoną przed przypadkowym usunięciem?

Jak za pomocą PowerShell przekonwertować parametr DistinguishedName danej jednostki organizacyjnej (OU) do CanonicalName w usłudze Active Directory?

Jak w PowerShell wyświetlić listę pustych jednostek organizacyjnych (OU)?

Jak w PowerShell odnaleźć kierownika grupy?
(Get-ADGroup $dn -Properties Managedby).Managedby

Up


Regex (Regular Expression)

Jak w PowerShell wyodrębnić adres IP v4 (np. 80.80.228.8) z Regex?
$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

Jak w PowerShell wyodrębnić adres MAC (np. C0-D9-62-39-61-2D) z separatorem “-” z Regex?
$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

Jak w PowerShell wyodrębnić adres MAC (np. C0:D9:62:39:61:2D) z separatorem “:” z Regex?
$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

Jak w PowerShell wyodrębnić datę (np. 10/02/2015 w formacie mm/dd/yyyy) z Regex?
$example = 'The date is 10/02/2015'
$date = [regex]::match($example,'(\d{2}\/\d{2}\/\d{4})').value

Jak w PowerShell wyodrębnić URL (np. www.powershell-guru.com) z Regex?
$example = 'The URL is www.powershell-guru.com'
$url = [regex]::match($example,'[a-z]+[:.].*?(?=\s)').value

Jak w PowerShell wyodrębnić e-mail (np. user@domain.com) z Regex?
$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

Jak w PowerShell wyodrębnić ciąg “guru” z przykładowego ciągu z Regex?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?=.com)').value

Jak w PowerShell wyodrębnić ciąg “guru.com” z przykładowego ciągu z Regex?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?<=.)').value

Jak w PowerShell wyodrębnić ciąg “powershell-guru.com” z przykładowego ciągu z Regex?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=www.)(.*\n?)').value

Jak w PowerShell wyodrębnić ciąg “123” z przykładowego ciągu z Regex?
$example = 'Powershell123'
[regex]::match($example,'(\d+)').value

Jak w PowerShell wyodrębnić “$” (znak dolara) z przykładowego ciągu z Regex?
$example = 'Powershell`$123'
[regex]::match($example,'(\$)').value

Jak w PowerShell zastąpić ciąg (*.com) ciągiem (*.fr) w danym ciągu znaków z Regex?
$example = 'www.powershell-guru.com'
[regex]::Replace($example, '.com','.fr')

Jak w PowerShell zastosować znak modyfikacji (escape character) w danym ciągu znaków z Regex?
[regex]::Escape('\\server\share')

Up


Memory

Jak w PowerShell wymusić zebranie pamięci przez program do odśmiecania pamięci (garbage collector)?
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Jak w PowerShell wyświetlić ilość RAM w komputerze?

Up


Date

Jak w PowerShell wyświetlić aktualną datę?
Get-Date
[Datetime]::Now

Jak w PowerShell wyświetlić datę w różnych formatach?

Jak za pomocą PowerShell przekonwertować datę z formatu Datetime do formatu String?

Jak za pomocą PowerShell przekonwertować datę z formatu String na format Datetime?

Jak w PowerShell obliczyć różnicę w dniach, godzinach, minutach lub sekundach (Days/Hours/Minutes/Seconds) między dwiema datami?
(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

Jak w PowerShell porównać dwie daty?
(Get-Date 2015-01-01) -lt (Get-Date 2015-01-30) # True
(Get-Date 2015-01-01) -gt (Get-Date 2015-01-30) # False

Jak w PowerShell sortować listę dat w formacie DateTime?
$arrayDate | Sort-Object -Property {$_ -as [Datetime]}

Jak w PowerShell uruchomić i zatrzymać stoper?
$chrono = [Diagnostics.Stopwatch]::StartNew()
$chrono.Stop()
$chrono

Jak za pomocą PowerShell wyświetlić aktualny dzień tygodnia?
(Get-Date).DayOfWeek #Sunday

Jak za pomocą PowerShell wyświetlić wczorajszą datę?
(Get-Date).AddDays(-1)

Jak w PowerShell uzyskać liczbę dni w danym miesiącu, np. w lutym 2015 (February 2015)?
[DateTime]::DaysInMonth(2015, 2)

Jak w PowerShell sprawdzić, czy rok jest przestępny?
[DateTime]::IsLeapYear(2015)

Jak w PowerShell wyświetlić listę stref czasowych?
[System.TimeZoneInfo]::GetSystemTimeZones()

Up


Networking

Jak w PowerShell zakodować (do formatu ASCII) i zdekodować URL?

Jakie są odpowiedniki natywnych poleceń sieciowych dla PowerShell?

Jak w PowerShell wyświetlić adres IP?
Get-NetIPAddress # Windows 8.1 & Windows 2012
Get-NetIPConfiguration # Windows 8.1 & Windows 2012

Jak w PowerShell wyłączyć adresy IPv6?

Jak w PowerShell sprawdzić poprawność adresu IPv4?
if([ipaddress]'10.0.0.1'){'validated'}

Jak w PowerShell znaleźć zewnętrzny adres IP?

Jak w PowerShell wyświetlić nazwę hosta dla danego adresu IP?
([System.Net.Dns]::GetHostEntry($IP)).Hostname

Jak w PowerShell znaleźć adres IP danego hosta?
([System.Net.Dns]::GetHostAddresses($computer)).IPAddressToString

Jak w PowerShell znaleźć FQDN danego hosta?
[System.Net.Dns]::GetHostByName($computer).HostName

Jak w PowerShell wyświetlić konfigurację sieci: IP, maska podsieci, brama sieciowa i DNS (IP/Subnet/Gateway/DNS)?

Jak za pomocą PowerShell wyświetlić adres MAC?
Get-CimInstance win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress
Get-WmiObject -Class win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress

Jak za pomocą PowerShell wykonać ping?

Jak za pomocą PowerShell sprawdzić, czy komputer jest podłączony do Internetu?

Jak w PowerShell sprawdzić whois dla danej domeny?
$whois = New-WebServiceProxy 'http://www.webservicex.net/whois.asmx?WSDL'
$whois.GetWhoIs('powershell-guru.com')

Jak w PowerShell uzyskać szczegółowe informacje dotyczące publicznego IP (geolokalizacja)?

Jak w PowerShell sprawdzić, czy port jest otwarty/zamknięty (open/closed)?
New-Object -TypeName Net.Sockets.TcpClient -ArgumentList $computer, 135

Jak za pomocą PowerShell wykonać tracert?
Test-NetConnection www.google.com -TraceRoute

Jak za pomocą PowerShell naprawić połączenie sieciowe?
Get-NetAdapter | Format-Table -Property Name, InterfaceDescription, ifIndex -AutoSize # Windows 8.1
Set-NetConnectionProfile -InterfaceIndex 6 -NetworkCategory Private

Jak w PowerShell wyświetlić połączenia dla portów TCP?
netstat.exe -ano
Get-NetTCPConnection #Windows 8 and 2012

Jak za pomocą PowerShell skrócić długi adres URL?
$url = 'www.powershell-guru.com'
$tiny = Invoke-RestMethod -Uri "http://tinyurl.com/api-create.php?url=$url"

Jak w PowerShell wyświetlić ustawienia proxy?
Get-ItemProperty -Path HKCU:"Software\Microsoft\Windows\CurrentVersion\Internet Settings"

DNS

Jak w PowerShell sprawdzić pamięć podręczną DNS na komputerze lokalnym?
ipconfig.exe /displaydns
Get-DnsClientCache #Windows 8 and 2012

Jak w PowerShell wyczyścić pamięć podręczną DNS na komputerze lokalnym?
ipconfig.exe /flushdns
Start-Process -FilePath ipconfig -ArgumentList /flushdns -WindowStyle Hidden
Clear-DnsClientCache #Windows 8 and 2012

Jak w PowerShell wyczyścić pamięć podręczną DNS na komputerach zdalnych?
Invoke-Command -ScriptBlock {Clear-DnsClientCache} -ComputerName computer01, computer02

Jak w PowerShell odczytać plik Hosts?
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'

Up


Password

Jak za pomocą PowerShell wygenerować losowe hasło?
[Reflection.Assembly]::LoadWithPartialName('System.Web')
[System.Web.Security.Membership]::GeneratePassword(30,2)

Jak za pomocą PowerShell zmienić lokalne hasło administratora na serwerze zdalnym?
$admin = [ADSI]('WinNT://server01/administrator,user')
$admin.SetPassword($password)
$admin.SetInfo()

Jak za pomocą PowerShell wyświetlić datę ważności hasła dla konta w usłudze Active Directory?

Up


Printers

Jak w PowerShell wyświetlić listę wszystkich drukarek na określonym serwerze?
Get-WmiObject -Query 'Select * From Win32_Printer' -ComputerName $computer

Jak w PowerShell wyświetlić wszystkie porty określonego serwera?
Get-WmiObject -Class Win32_TCPIPPrinterPort -Namespace 'root\CIMV2' -ComputerName $computer

Jak za pomocą PowerShell zmienić komentarz/lokalizację dla drukarki?

Jak za pomocą PowerShell oczyścić kolejkę (anulować wszystkie zadania) dla drukarki?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.CancelAllJobs()

Jak w PowerShell wydrukować stronę testową?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.PrintTestPage()

Jak w PowerShell wyświetlić kolejki wydruku dla drukarek?

Up


Regedit

Read

Jak w PowerShell wyświetlić listę gałęzi rejestru?
Get-ChildItem -Path Registry::

Jak w PowerShell wyświetlić wartości oraz typy wartości rejestru?

Jak za pomocą PowerShell wyświetlić listę kluczy rejestru z podkluczami?

Jak w PowerShell rekursywnie wyświetlić listę podkluczy danego klucza rejestru?
Get-ChildItem -Path 'HKLM:\SYSTEM' -Recurse -ErrorAction SilentlyContinue

Jak za pomocą PowerShell znaleźć podklucze o konkretnej nazwie?
Get-ChildItem -Path 'HKLM:\SOFTWARE' -Include *Plugin* -Recurse -ErrorAction SilentlyContinue

Jak w PowerShell wyświetlić tylko nazwy podkluczy rejestru?
(Get-ChildItem -Path 'HKLM:\SYSTEM').Name # Return HKEY_LOCAL_MACHINE\SYSTEM\ControlSet
Get-ChildItem -Path 'HKLM:\SYSTEM' -Name # Return ControlSet

Jak w PowerShell wyświetlić wartości rejestru?
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

Jak w PowerShell odczytać konkretną wartość rejestru?
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').ProductName

Jak w PowerShell odczytać konkretną wartość rejestru na komputerze zdalnym?

Write

Jak w PowerShell utworzyć nowy klucz rejestru?
New-Item -Path 'HKCU:\Software\MyApplication'

Jak w PowerShell utworzyć wartość rejestru?
New-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '1.0'

Jak w PowerShell zmodyfikować istniejącą wartość rejestru?
Set-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '2.0'

Delete

Jak w PowerShell usunąć wartość rejestru?
Remove-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version'

Jak w PowerShell usunąć klucz rejestru?
Remove-Item -Path 'HKCU:\Software\MyApplication' -Force

Test

Jak w PowerShell sprawdzić, czy istnieje klucz rejestru?
Test-Path -Path 'HKCU:\Software\MyApplication'

Jak w PowerShell sprawdzić, czy istnieje dana wartość rejestru?
(Get-Item -Path 'HKCU:\Software\MyApplication').GetValueNames() -contains 'Version'

Up


Strings

Jak w PowerShell usunąć spacje z początku ciągu?
$string = ' PowershellGuru'
$string = $string.TrimStart()

Jak w PowerShell usunąć spacje z końca ciągu?
$string = 'PowershellGuru '
$string = $string.TrimEnd()

Jak w PowerShell usunąć spacje na początku i na końcu danego ciągu?
$string = ' PowershellGuru '
$string = $string.Trim()

Jak w PowerShell przekonwertować ciąg znaków na wielkie litery?
$string = 'powershellguru'
$string = $string.ToUpper()

Jak w PowerShell przekonwertować ciąg znaków na małe litery?
$string = 'POWERSHELLGURU'
$string = $string.ToLower()

Jak w PowerShell wyodrębnić ciąg “Powershell” z ciągu “PowershellGuru”?
$string.Substring(0,10)

Jak w PowerShell wyodrębnić ciąg “Guru” z ciągu “PowershellGuru”?
$string.Substring(10)

Jak w PowerShell wyodrębnić ciąg “123” z ciągu “Powershell123Guru”?
$string = 'Powershell123Guru'
[regex]::match($string,'(\d+)').value

Jak w PowerShell wyświetlić indeks (od zera) ciągu “Guru” pochodzącego z ciągu “PowershellGuru”?
$string.IndexOf('Guru') # 10

Jak w PowerShell sprawdzić, czy ciąg jest zerowy lub pusty?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Jak w PowerShell sprawdzić, czy ciąg pusty lub składa się tylko ze spacji?
$string = $null
$string = ''
$string = ' '
[string]::IsNullOrWhiteSpace($string)

Jak w PowerShell sprawdzić, czy ciąg znaków zawiera konkretny znak?
$string = 'PowershellGuru'
$string.Contains('s')
[regex]::match($string,'s').Success

Jak w PowerShell wyświetlić długość ciągu?
$string.Length

Jak w PowerShell połączyć dwa ciągi?

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera co najmniej jeden nawias kwadratowy – “[]”?
$string = '[PowershellGuru]'
$string -match '\[' # Only 1
$string -match '\[(.*)\]' # Several

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera co najmniej jeden nawias – “()”?
$string = '(PowershellGuru)'
$string -match '\(' # Only 1
$string -match '\((.*)\)' # Several

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera co najmniej jeden nawias klamrowy – “{}”?
$string = '{PowershellGuru}'
$string -match '\{' # Only 1
$string -match '\{(.*)\}' # Several

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera co najmniej jeden nawias ostry – “<>”?
$string = ''
$string -match '\<' # Only 1
$string -match "\<(.*)\>" # Several

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera jakiekolwiek małe litery (np. abc)?
$string = 'POWERSHELLGURU'
$string -cmatch "^[a-z]*$" #False

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera jakiekolwiek duże litery (np. ABC)?
$string = 'powershellguru'
$string -cmatch "^[A-Z]*$" #False

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera “[p” (małe p)?
$string = '[powershellGuru]'
$string -cmatch '\[[a-z]\w+' #True

Jak za pomocą PowerShell sprawdzić, czy ciąg zawiera “[P” (duże P)?
$string = '[PowershellGuru]'
$string -cmatch '\[[A-Z]\w+' #True

Jak w PowerShell zastąpić linię inną linią?
$a = 'Line A'
$b = 'Line B'
$a = $a -replace $a, $b

Jak w PowerShell przekonwertować operację dzielenia na procent (Percentage)?
(1/2).ToString('P')

Jak w PowerShell sortować ciągi zawierające liczby?

Jak w PowerShell wybrać ostatnie słowo w danym zdaniu?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ')[-1] # Returns Powershell

Jak za pomocą PowerShell wyświetlić najdłuższe słowo w danym zdaniu?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ') | Sort-Object -Property Length | Select-Object -Last 1 # Returns Powershell

Jak za pomocą PowerShell sprawdzić, ile razy ciąg występuje w danym zdaniu?
$sentence = 'test test test Powershell'
[regex]::Matches($sentence, 'test').Count # Returns 3

Jak w PowerShell skopiować każdy znak z ciągu znaków do tablicy znaków?

Jak w PowerShell przekonwertować pierwsze litery w danym ciągu z małych na wielkie?

Jak w PowerShell dołączyć ciąg z lewej lub prawej strony innego ciągu?

Jak za pomocą PowerShell kodować i dekodować ciąg do Base64?

Jak w PowerShell przekonwertować liczbę z systemu dziesiętnego na dwójkowy i z systemu dwójkowego na dziesiętny?

Jak w PowerShell wyświetlić tylko ostatni folder nadrzędny w ścieżce?

Jak w PowerShell wyświetlić tylko ostatni element danej ścieżki?

Up


Math

Jak w PowerShell wyświetlić listę metod klasy System.Math?
[System.Math] | Get-Member -Static -MemberType Method

Jak za pomocą PowerShell obliczyć wartość bezwzględną?
[Math]::Abs(-12) #Returns 12
[Math]::Abs(-12.5) # Returns 12.5

Jak w PowerShell obliczyć miarę kąta, którego sinus jest znany?
[Math]::ASin(1) #Returns 1,5707963267949

Jak za pomocą PowerShell zaokrąglić daną liczbę do najbliższej całości w górę, bez względu na wielkość ułamka (tzw. sufit)?
[Math]::Ceiling(1.4) #Returns 2
[Math]::Ceiling(1.9) #Returns 2

Jak za pomocą PowerShell zaokrąglić daną liczbę do najbliższej całości w dół, bez względu na wielkość ułamka (tzw. podłoga)?
[Math]::Floor(1.4) #Returns 1
[Math]::Floor(1.9) #Returns 1

Jak w PowerShell obliczyć logarytm naturalny (o podstawie e) danej liczby?
[Math]::Log(4) #Returns 1,38629436111989

Jak w PowerShell obliczyć logarytm o podstawie 10 określonej liczby?
[Math]::Log10(4) #Returns 0,602059991327962

Jak w PowerShell znaleźć element największy (maksimum) dwóch wartości?
[Math]::Max(2,4) #Returns 4
[Math]::Max(-2,-4) #Returns -2

Jak w PowerShell znaleźć element najmniejszy (minimum) dwóch wartości?
[Math]::Min(2,4) #Returns 2
[Math]::Max(-2,-4) #Returns -4

Jak w PowerShell obliczyć potęgę danej liczby?
[Math]::Pow(2,4) #Returns 16

Jak w PowerShell zaokrąglić ułamek do najbliższej liczby całkowitej?
[Math]::Round(3.111,2) #Returns 3,11
[Math]::Round(3.999,2) #Returns 4

Jak w PowerShell obliczyć całkowitą część danej liczby mieszanej?
[Math]::Truncate(3.111) #Returns 3
[Math]::Truncate(3.999) #Returns 3

Jak w PowerShell obliczyć pierwiastek kwadratowy danej liczby?
[Math]::Sqrt(16) #Returns 4

Jak w PowerShell wyświetlić liczbę pi?
[Math]::Pi #Returns 3,14159265358979

Jak w PowerShell wyświetlić podstawę logarytmu naturalnego (stała e)?
[Math]::E #Returns 2,71828182845905

Jak w PowerShell sprawdzić, czy liczba jest parzysta albo nieparzysta?
[bool]($number%2)

Up


Hashtables

Jak w PowerShell utworzyć pustą tablicę mieszającą (hashtable)?
$hashtable = @{}
$hashtable = New-Object -TypeName System.Collections.Hashtable

Jak w PowerShell stworzyć tablicę mieszającą (hashtable) z zawartością?

Jak w PowerShell stworzyć tablicę mieszającą (hashtable) posortowaną według klucza/nazwy (key/name) – tzw. uporządkowany słownik (ordered dictionary)?

Jak w PowerShell dodać elementy (para klucz-wartość) do tablicy mieszającej (hashtable)?
$hashtable.Add('Key4', 'Value4')

Jak w PowerShell wyświetlić określoną wartość tablicy mieszającej (hashtable)?

Jak w PowerShell wyświetlić minimalną wartość tablicy mieszającej (hashtable)?

Jak w PowerShell wyświetlić maksymalną wartość tablicy mieszającej (hashtable)?

Jak w PowerShell modyfikować elementy tablicy mieszającej (hashtable)?
$hashtable.Set_Item('Key1', 'Value1Updated')

Jak w PowerShell usuwać elementy z tablicy mieszającej (hashtable)?
$hashtable.Remove('Key1')

Jak w PowerShell wyczyścić tablicę mieszającą (hashtable)?
$hashtable.Clear()

Jak w PowerShell sprawdzić obecność określonego klucza/wartości (key/value) w tablicy mieszającej (hashtable)?
$hashtable.ContainsKey('Key3')
$hashtable.ContainsValue('Value3')

Jak za pomocą PowerShell sortować tablicę mieszającą (hashtable) według określonego klucza/wartości?
$hashtable.GetEnumerator() | Sort-Object -Property Name
$hashtable.GetEnumerator() | Sort-Object -Property Value -Descending

Up


Arrays

Jak za pomocą PowerShell utworzyć pustą tablicę?
$array = @()
$array = [System.Collections.ArrayList]@()

Jak za pomocą PowerShell stworzyć tablicę z elementów?
$array = @('A', 'B', 'C')
$array = 'A', 'B', 'C'
$array = 'a,b,c'.Split(',')
$array = .{$args} a b c
$array = echo a b c

Jak za pomocą PowerShell dodać elementy do tablicy?
$array += 'D'
[void]$array.Add('D')

Jak za pomocą PowerShell zmodyfikować element w tablicy?
$array[0] = 'Z' # 1st item[0]

Jak za pomocą PowerShell sprawdzić rozmiar tablicy?
$array = 'A', 'B', 'C'
$array.Length # Returns 3

Jak za pomocą PowerShell odzyskać jeden/kilka/wszystkie (one/several/all) elementy z tablicy?
$array = @('A', 'B', 'C')
$array[0] # One item (A)
$array[0] + $array[2] # Several items (A,C)
$array # All items (A,B,C)

Jak za pomocą PowerShell usunąć puste elementy z tablicy?
$array = @('A', 'B', 'C', '')
$array = $array.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) | Sort-Object # A,B,C

Jak za pomocą PowerShell sprawdzić, czy element istnieje w tablicy?
$array = @('A', 'B', 'C')
'A' | ForEach-Object -Process {$array.Contains($_)} # Returns True
'D' | ForEach-Object -Process {$array.Contains($_)} # Returns False

Jak za pomocą PowerShell znaleźć numer indeksu danego elementu w tablicy?
$array = @('A', 'B', 'C')
[array]::IndexOf($array,'A') # Returns 0

Jak za pomocą PowerShell odwrócić kolejność elementów w tablicy?
$array = @('A', 'B', 'C')
[array]::Reverse($array) # C,B,A

Jak za pomocą PowerShell wybrać losowy element z tablicy?
$array | Get-Random

Jak w PowerShell posortować elementy w tablicy narastająco/malejąco (ascending/descending)?
$array = @('A', 'B', 'C')
$array | Sort-Object # A,B,C
$array | Sort-Object -Descending # C,B,A

Jak w PowerShell sprawdzić liczbę elementów w tablicy?