POWERSHELL UKK SUOMEKSI

By | April 11, 2015

translated-finnish-v2


Konsepti : Useimmin kysytyt kysymykset PowerShelliin.

Voit käyttää tätä luetteloa eri tavoin:

  • Kopioida ja liittää komennot osaksi skriptiä
  • Nähdä nopeasti tietyn komennon syntaksin
  • Parantaa teknistä tietämystä
  • Oppia uusia komentoja
  • Valmistautua työhaastatteluun

Päivitetty
16 heinäkuu 2015
Tekijä powershell-guru.com
Lähde finnish.powershell-guru.com
Luokat
75
Kysymykset
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

Kuinka määrittelen käytössäni olevan PowerShellin version?

Kuinka ajan PowerShellia toisessa versiossa taaksepäin yhteensopivuuden takaamiseksi?
powershell.exe -Version 2.0

Miten vaadin vähintään PowerShellin version (3.0 ja uudempi) PowerShell-skriptissä?
#Requires -Version 3.0

Miten vaadin pääkäyttäjän oikeudet Powershell-skriptissä?

Miten tarkistan parametrit PowerShell-skriptissä?
help -Name .\Get-ExchangeEnvironmentReport.ps1 -Full

Miten saan tietoa nykyisestä käyttäjästä Powershellissa?
[Security.Principal.WindowsIdentity]::GetCurrent()

Miten luon, muokkaan ja uudelleenlataan profiilin PowerShellissa?

Miten teen 5 sekunnin / minuutin tauon PowerShell-skriptissä?
Start-Sleep -Seconds 5
Start-Sleep -Seconds 300 # 5 minutes

Miten saan viimeisen käynnistyksen kellonajan PowerShellissa?
(Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime

Miten saan type acceleratoreita PowerShellissa?

Miten listaan käynnistysohjelmat PowerShellissa?

Miten poistan sovelluksen PowerShellissa?

Miten otan kuvakaappauksen koko työpöydästä tai aktiivisen ikkunan sisällöstä PowerShellissa?
Take-ScreenShot -Screen -File 'C:\scripts\screenshot.png' -Imagetype JPEG
Repository : Take-ScreenShot

Miten saan viestien määrän MSMQ-jonolle PowerShellissa?

Miten asetan execution policyn PowerShellissa?

Miten luon pikakuvakkeen PowerShellissa?

Miten kiinnitän tai irrotan ohjelman tehtäväpalkista PowerShellissa?

Miten avaan Windows Explorerin PowerShellissa?
[Diagnostics.Process]::Start('explorer.exe')
Invoke-Item -Path C:\Windows\explorer.exe

Miten listaan laiteajurit PowerShellissa?
Get-WmiObject -Class Win32_PnPSignedDriver
Get-WindowsDriver -Online -All
driverquery.exe

Miten luon GUID:in PowerShellissa?

Miten saan väliaikaishakemiston sijainnin nykyiselle käyttäjälle PowerShellissa?
[System.IO.Path]::GetTempPath()

Miten liitän polun ja lapsipolun yhdeksi poluksi PowerShellissa?
Join-Path -Path C:\ -ChildPath \windows

Miten listaan kaikki cmdlets:it “Get-*” PowerShellilla?
Get-Command -Verb Get

Miten listaan erityiset järjestelmäkansiot PowerShellissa?

Kuinka mounttaan ISO / VHD-tiedostoja PowerShellilla?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Miten tarkistan .NET Frameworkin asennetut versiot PowerShellissa?

Miten tarkistan, onko .NET Framework 4.5 asennettu PowerShellissa?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full' -EA 0).Version -like '4.5*'

Miten aloitan ja lopetan transkriptin (luodaksesi tallenteen Windows PowerShell-istunnosta) PowerShellissa?
Start-Transcript -Path 'C:\scripts\transcript.txt
Stop-Transcript

Miten muutan nykyisen kansion tiettyyn sijaintiin PowerShellissa?
Set-Location -Path 'C:\scripts'

Kuinka tyhjennän näytön PowerShellissa?
Clear-Host
cls # Alias

Miten muutan näytön resoluution PowerShellissa?
Set-DisplayResolution -Width 1280 -Height 1024 -Force # Windows 2012

Miten asetan koko ruudun ikkunan PowerShellilla?
mode.com 300

Miten saan kuvan mitat (leveys ja korkeus) PowerShellissa?

Miten saan Windows-tuoteavaimen PowerShellissa?

Perfmon

Miten saan nykyisen “% Processor Time” (keskiarvo) viimeisen 5 sekunnin ajalta (10 kertaa) PowerShellissa?
(Get-Counter '\Processor(_total)\% Processor Time' -SampleInterval 5 -MaxSamples 10).CounterSamples.CookedValue

Assemblies

Miten lataan kokoonpanot PowerShellissa?

Miten tarkistan nykyiset PowerShelliin ladatut .NET-kokoonpanot?

Miten löydän GAC (Global Assembly Cache)-polun PowerShellissa?

Clipboard

Kuinka kopioin tulokset leikepöydälle PowerShellissa?

Miten saan leikepöydän sisällöt PowerShellissa?
Add-Type -AssemblyName PresentationCore
[Windows.Clipboard]::GetText()

Hotfixes

Miten saan asennetut korjaustiedostot eli hotfixit PowerShellissa?
Get-HotFix -ComputerName $computer

Miten saan korjaustiedostot eli hotfixit, jotka asennettu ennen / jälkeen tiettyä aikaa PowerShellissa?
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

Miten voin tarkistaa, onko korjaustiedosto eli hotfix asennettu PowerShellissa?
Get-HotFix -Id KB2965142

Miten saan etäkoneelle asennetut korjaustiedostot eli hotfixit PowerShellissa?
Get-HotFix -ComputerName $computer

Pagefile

Miten saan sivutustiedoston eli Pagefilen tiedot PowerShellissa?
Get-WmiObject -Class Win32_PageFileusage | Select-Object -Property Name, CurrentUsage, AllocatedBaseSize, PeakUsage, InstallDate

Miten saan suositellun koon (MB) Pagefilelle eli sivutustiedostolle PowerShellissa?
[Math]::Truncate(((Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory) / 1MB) * 1.5

Miten luon Pagefilen eli sivutustiedoston (4096 MB) D: -asemalle PowerShellissa?

Miten poistan Pagefilen C: -asemalta PowerShellissa?

Maintenance

Miten tarkistan levyn pirstoutumiseen PowerShellissa?

Miten tarkistan levytilan levyasemilla PowerShellissa?

Up


Files

Miten avaan tiedoston PowerShellissa?
Invoke-Item -Path 'C:\scripts\file.txt'
.'C:\scripts\file.txt'

Miten luen tiedoston PowerShellissa?
Get-Content -Path 'C:\scripts\file.txt'
gc "C:\scripts\file.txt" # Alias

Miten kirjoitan ulostulotiedostoon PowerShellissa?

Miten saan nykyisen skriptitiedoston koko nimen PowerShellissa?
$MyInvocation.MyCommand.Path

Miten pakkaan / zippaan tiedostoja PowerShellissa?

Miten puran / unzippaan tiedostoja PowerShellissa?

Miten näen ZIP-arkiston sisältämät tiedostot PowerShellissa?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::OpenRead($fileZIP)

Miten näytän tiedoston koon kilotavuissa (Kt) PowerShellissa?
(Get-ChildItem -Path .\winsrv.dll).Length /1KB
(Get-ChildItem -Path .\winsrv.dll).Length /1MB
(Get-ChildItem -Path .\winsrv.dll).Length /1GB

Miten löydän tiedostot, jotka suurempia tai pienempiä kuin 1 Gt PowerShellissa?

Miten näytän tiedoston nimen ilman päätettä PowerShellissa?
[System.IO.Path]::GetFileNameWithoutExtension('C:\Windows\system32\calc.exe') # Return calc

Miten näytän tiedoston päätteen PowerShellissa?
[System.IO.Path]::GetExtension('C:\scripts\file.txt') # Return .txt

Miten saan tiedoston version tiedostosta PowerShellissa?

Miten saan tiedoston hash-arvon PowerShellissa?
(Get-FileHash $file).Hash

Miten saan tiedoston MD5 / SHA1-tarkistussumman PowerShellissa?
Get-FileHash $file -Algorithm MD5
Get-FileHash $file -Algorithm SHA1

Miten näytän piilotetut tiedostot PowerShellissa?

Miten tarkistan, onko tiedostolla päätettä PowerShellissa?

Miten asetan tiedoston “Vain luku”-tilaan PowerShellissa?
Set-ItemProperty -Path .\file.txt -Name IsReadOnly -Value $true

Miten muutan tiedoston attribuuttin “LastWriteTime” viime viikoksi PowerShellissa?
Set-ItemProperty -Path .\file.txt -Name LastWriteTime -Value ((Get-Date).AddDays(-7))
If not working, use Nirsoft tool: BulkFileChanger.

Miten luon uuden tiedoston PowerShellissa?
New-Item -ItemType File -Path 'C:\scripts\file.txt' -Value 'FirstLine'

Miten nimeän tiedoston uudelleen PowerShellissa?
Rename-Item -Path 'C:\scripts\file.txt' -NewName 'C:\scripts\powershellguru2.txt'

Miten uudelleennimeän useita tiedostoja bulkkina / batchina PowerShellissa?
Get-ChildItem -Path C:\scripts\txt | Rename-Item -NewName { $_.Name -replace ' ', '_' }

Miten poistan tiedoston PowerShellissa?
Remove-Item -Path 'C:\scripts\file.txt'

Miten näytän tiedoston 10 viimeisintä riviä PowerShellissa?
Get-Content -Path 'C:\scripts\log.txt' -Tail 10

Kuinka sallin useita tiedostoja kansiossa PowerShellissa?
Get-ChildItem -Path 'C:\scripts\Modules' | Unblock-File

Miten poistan tyhjät rivit tiedostosta PowerShellissa?
(Get-Content -Path file.txt) | Where-Object -FilterScript {$_.Trim() -ne '' } | Set-Content -Path file.txt

Miten tarkistan, onko tiedosto olemassa PowerShellissa?

Miten saan uusimman / vanhimman luodun tiedoston kansiossa PowerShellissa?

Miten poistan rivien kaksoiskappaleet tiedostosta PowerShellissa?

Miten saan tiedostot, jotka luotu enemmän / vähemmän kuin 1 kuukausi sitten kansiossa PowerShellissa?

Miten saan tiedostot, jotka luotu enemmän / vähemmän kuin 1 vuosi sitten kansiossa PowerShellissa?

Kuinka vien muuttujan arvon tiedostoon PowerShellissa?
Set-Content -Path file.txt -Value $variable

Miten lasken tiedostojen määrän (* .txt) kansiossa PowerShellissa?

Miten etsin merkkijonoa useista tiedostoista PowerShellillä?
Select-String -Path 'C:\*.txt' -Pattern 'Test'

Miten näytän tiedoston ensimmäisen / viimeisen rivin PowerShellissa?

Miten näytän tietyn tiedoston rivin PowerShellissa?

Miten lasken tiedoston sisältämien rivien määrän PowerShellissa?

Miten lasken tiedoston sisältämien merkkien ja sanojen määrän PowerShellissa?

Miten lataan tiedoston PowerShellissa?
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\tools\searchmyfiles.zip'

Miten näytän tiedoston koko polun PowerShellissa?
Resolve-Path -Path .\script.ps1 # Return C:\Scripts\script.ps1

Copy

Kuinka kopioin yhden tiedoston kansioon PowerShellissa?
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'

Kuinka kopioin yhden tiedoston useisiin kansioihin PowerShellissa?

Kuinka kopioin useita tiedostoja yhteen kansioon PowerShellissa?
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

Miten löydän Global Catalog-palvelimet Active Directoryssa PowerShellissa?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs

Miten löydän sivustot Active Directorysta PowerShellissa?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites

Miten löydän nykyisen domain controllerin PowerShellilla?

Miten löydän kaikki domainin domain controllerit PowerShellilla?

Miten löydän AD-replikointiepäonnistumiset PowerShellilla?
Get-ADReplicationFailure dc02.domain.com # Windows 8 and 2012

Miten löydän tombstone lifetimen forestille Active Directoryssa PowerShellilla?

Miten saan forestin / domainin tiedot Active Directoryssa PowerShellilla?

Miten saan “Deleted Objects”-containerin polun Active Directoryssa PowerShellilla?
(Get-ADDomain).DeletedObjectsContainer

Kuinka kytken AD Recycle Bin eli roskakoriominaisuuden Active Directoryssa PowerShellilla?

Miten palautan AD-tilin Roskakorista Active Directoryssa PowerShellilla?
Get-ADObject -Filter 'samaccountname -eq "powershellguru"' -IncludeDeletedObjects | Restore-ADObject

Miten löydän FSMO-roolit PowerShellilla?

Miten yhdistän tiettyyn domain controlleriin PowerShellissa?
Get-ADUser -Identity $user -Server 'serverDC01'

Miten saan nykyisen kirjautumispalvelimen eli logon serverin PowerShellissa?

Kuinka suoritan “gpupdate”:n tietokoneella PowerShellilla?
Invoke-GPUpdate -Computer $computer -Force -RandomDelayInMinutes 0 # Windows 2012

Groups

Miten luon uuden ryhmän Active Directoryssa PowerShellilla?

Miten poistan ryhmän Active Directoryssa PowerShellilla?
Remove-ADGroup -Identity 'PowershellGuru'

Kuinka lisään käyttäjän ryhmään Active Directoryssa PowerShellilla?
Add-ADGroupMember "Powershell Guru" -Members powershellguru

Miten poistan käyttäjän ryhmästä Active Directoryssa PowerShellilla?
Remove-ADGroupMember 'Powershell Guru' -Members powershellguru

Miten löydän tyhjät ryhmät (ilman jäseniä) Active Directoryssa PowerShellilla?
Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}

Miten lasken tyhjät ryhmät (ilman jäseniä) Active Directoryssa PowerShellilla?
(Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}).Count

Miten saan ryhmän jäsenet Active Directorysta PowerShellilla?

Miten saan ryhmän jäsenet rekursiivisilla jäsenillä Active Directorysta PowerShellilla?

Miten lasken ryhmän jäsenmäärän rekursiivisten jäsenten kanssa / ilman Active Directoryssa PowerShellilla?

Users

Kuinka käytän villiä korttia “Get-ADUser”:n suodattimessa Active Directoryssa PowerShellilla?

Miten siirrän käyttäjän toiseen OU:hun Active Directoryssa PowerShellilla?
Move-ADObject -Identity $dn -TargetPath 'OU=myOU,DC=domain,DC=com'

Miten löydän kaikki Jäsenet, jotka ovat (sisäkkäisiä) käyttäjälle PowerShellissa?
Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=$($dn))"

Miten saan Jäsenet (lyhyt nimi / katkaistu) käyttäjälle PowerShellissa?
(Get-ADUser $user -Properties MemberOf).MemberOf | ForEach-Object -Process {($_ -split ',')[0].Substring(3)} | Sort-Object

Miten uudelleennimeän Nimen (FullName), (DisplayName), Etunimen (FirstName) ja Sukunimen (LastName) käyttäjälle Active Directoryssa PowerShellilla?

Miten muutan Kuvausta, Toimistoa ja (Tele) puhelinnumeroa käyttäjätilille Active Directoryssa PowerShellilla?
Set-ADUser $samAccountName -Description 'IT Consultant' -Office 'Building B' -OfficePhone '12345'

Miten asetan vanhenemispäivän muotoon “31/12/2015” tai “Ei koskaan” käyttäjälle Active Directoryssa PowerShellilla?

Miten avaan lukitun käyttäjätilin Active Directoryssa PowerShellilla?
Unlock-ADAccount $samAccountName

Miten otan käyttöön / poistan käytöstä käyttäjätilin Active Directoryssa PowerShellilla?

Miten poistan käyttäjätilin Active Directoryssa PowerShellilla?
Remove-ADUser $samAccountName

Kuinka resetoin salasanan yhdelle käyttäjätilille Active Directoryssa PowerShellilla?

Kuinka resetoin salasanan useille käyttäjätileille (joukkona) Active Directoryssa PowerShellilla?

Miten löydän tiedoston omistajan Active Directoryssa PowerShellilla?

Miten löydän käyttäjän OU:n (Organizational Unit) Active Directoryssa PowerShellilla?
[regex]::match("$((Get-ADUser $user -Properties DistinguishedName).DistinguishedName)",'(?=OU=)(.*\n?)').value

Miten löydän käytöstä poistetut käyttäjätilit Active Directoryssa PowerShellilla?

Miten löydän vanhentuneet käyttäjätilit Active Directoryssa PowerShellilla?
Search-ADAccount -AccountExpired

Miten löydän lukitut käyttäjätilit Active Directoryssa PowerShellilla?
Search-ADAccount -LockedOut

Miten löydän käyttäjätilin SID:in Active Directoryssa PowerShellilla?
(Get-ADUser $user -Properties SID).SID.Value

Miten muunnan käyttäjänimen SID:ksi Active Directoryssa PowerShellilla?

Miten muunnan SID:in käyttäjänimeksi Active Directoryssa PowerShellilla?

Miten jaan käyttäjätilin Distinguished Namen Active Directoryssa PowerShellilla?

Miten löydän käyttäjätilin luontipäivän / muutospäivän Active Directorynssa PowerShellilla?
Get-ADUser -Identity $user -Properties whenChanged, whenCreated | Format-List -Property whenChanged, whenCreated

Miten näytän valinnaiset ​​ja pakolliset ominaisuudet luokalle “Käyttäjä” Active Directoryssa PowerShellilla?

Miten saan LDAP-polun käyttäjälle Active Directoryssa PowerShellilla?

Miten muutan CN:n (Canonical Name) käyttäjälle Active Directoryssa PowerShellilla?
Rename-ADObject $((Get-ADUser $user -Properties DistinguishedName).DistinguishedName) -NewName 'Test Powershell'

Miten saan käyttäjän Organisaatioyksikön (OU) parentin Active Directoryssa PowerShellilla?

Miten saan käyttäjän omistajan (joka loi tilin) Active Directoryssa PowerShellilla?

Miten muunnan pwdLastSet-attribuutin käyttäjälle Active Directoryssa PowerShellilla?

Computers

Miten testaan turvallisen kanavan paikallisen tietokoneen ja domainin välillä PowerShellissa?
Test-ComputerSecureChannel

Miten korjaan turvallisen kanavan paikallisen tietokoneen ja domainin välillä PowerShellissa?
Test-ComputerSecureChannel -Repair

Miten poistan tietokonetilin Active Directoryssa PowerShellilla?
Disable-ADAccount $computer

Miten löydän tietokoneet tietyillä Käyttöjärjestelmillä Active Directorysta PowerShellilla?

Organizational Unit (OU)

Miten luon Organizational Unitin (OU) Active Directoryssa PowerShellilla?
New-ADOrganizationalUnit -Name 'TEST' -Path 'DC=domain,DC=com'

Miten saan Organisaatioyksikön (OU) tiedot Active Directorysta PowerShellilla?
Get-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Properties *

Miten muutan Organisaatioyksikön (OU) kuvausta Active Directoryssa PowerShellilla?
Set-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Description 'My description'

Miten otan käyttöön / poistan Organisaatioyksikön (OU) vahingossa poiston Active Directoryssa PowerShellilla?

Kuinka otan käyttöön vahingossa poiston kaikille Organisaatioyksiköille (OU) Active Directoryssa PowerShellilla?

Miten poistan Organisaatioyksikön (OU) Active Directoryssa PowerShellilla, joka on suojattu vahingossa poistamiselta?

Miten muunnan Organisaatioyksikön (OU) DistinguishedNamen ja CanonicalNamen Active Directoryssa kanssa PowerShellilla?

Miten listaan tyhjät Organisaatioyksiköt (OU:t) PowerShellilla?

Miten saan ryhmän managerin PowerShellilla?
(Get-ADGroup $dn -Properties Managedby).Managedby

Up


Regex (Regular Expression)

Miten poimin IP-osoitteen muotoa v4 (80.80.228.8) Regexilla PowerShellissa?
$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

Miten poimin MAC-osoitteen (C0-D9-62-39-61-2D) erottimella “-” Regexilla PowerShellissa?
$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

Miten pomin MAC-osoitteen (C0: D9: 62: 39: 61: 2D) erottimella “:” Regexilla PowerShellissa?
$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

Miten poimin päivämäärän (10/2/2015) Regexilla PowerShellilla?
$example = 'The date is 10/02/2015'
$date = [regex]::match($example,'(\d{2}\/\d{2}\/\d{4})').value

Miten poimin URL:in (www.powershell-guru.com) Regexilla PowerShellissa?
$example = 'The URL is www.powershell-guru.com'
$url = [regex]::match($example,'[a-z]+[:.].*?(?=\s)').value

Miten poimin sähköpostin (user@domain.com) Regexilla PowerShellissa?
$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

Miten poimin merkkijonon “guru” esimerkistä Regexilla PowerShellilla?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?=.com)').value

Miten poimin merkkijonon “guru.com” esimerkistä Regexilla PowerShellilla?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?<=.)').value

Miten poimin merkkijonon “powershell-guru.com” esimerkistä Regexilla PowerShellissa?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=www.)(.*\n?)').value

Miten poimin merkkijonon “123” esimerkistä Regexilla PowerShellissa?
$example = 'Powershell123'
[regex]::match($example,'(\d+)').value

Miten poimin merkin “$” (dollarin merkki) esimerkistä Regexilla PowerShellissa?
$example = 'Powershell`$123'
[regex]::match($example,'(\$)').value

Miten korvaan merkin (*.com) toisella (*.fr) merkkijonossa Regexilla PowerShellissa?
$example = 'www.powershell-guru.com'
[regex]::Replace($example, '.com','.fr')

Miten escapetan merkkijonon Regexilla PowerShellissa?
[regex]::Escape('\\server\share')

Up


Memory

Miten pakotan roskienkerääjän (garbage collector) muistikokoelman PowerShellissa?
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Miten saan tietokoneen RAM-muistin koon PowerShellilla?

Up


Date

Miten saan nykyisen päivämäärän PowerShellissa?
Get-Date
[Datetime]::Now

Miten näytän päivämäärän eri formaateissa PowerShellissa?

Miten muunnan päivämäärän (Datetime) päivämääräksi (Merkkijono)PowerShellilla?

Miten muunnan päivämäärän (Merkkijono) päivämääräksi (Datetime) PowerShellissa?

Miten lasketaan erotus (päivien tuntien, minuuttien tai sekuntien lukumäärä) kahden päivämäärän välillä PowerShellissa?
(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

Miten vertailen kahta päivämäärää PowerShellissa?
(Get-Date 2015-01-01) -lt (Get-Date 2015-01-30) # True
(Get-Date 2015-01-01) -gt (Get-Date 2015-01-30) # False

Miten lajittelen taulukon päivämääriä muodossa “Datetime” PowerShellilla?
$arrayDate | Sort-Object -Property {$_ -as [Datetime]}

Miten aloitan ja lopetan sekuntikellon PowerShellissa?
$chrono = [Diagnostics.Stopwatch]::StartNew()
$chrono.Stop()
$chrono

Miten saan nykyisen viikonpäivän PowerShellilla?
(Get-Date).DayOfWeek #Sunday

Miten saan eilisen päivämäärän PowerShellilla?
(Get-Date).AddDays(-1)

Miten saan kuukaudessa olevien päivien lukumäärän (Helmikuu 2015) PowerShellilla?
[DateTime]::DaysInMonth(2015, 2)

Miten saan tietää karkausvuoden PowerShellissa?
[DateTime]::IsLeapYear(2015)

Miten listaan aikavyöhykkeet PowerShellissa?
[System.TimeZoneInfo]::GetSystemTimeZones()

Up


Networking

Miten koodaan (ASCII-muotoon) ja dekoodaan URL:in PowerShellilla?

Mitkä ovat natiivien verkkokomentojen vastineita PowerShellissa?

Miten saan IP-osoitteet PowerShellissa?
Get-NetIPAddress # Windows 8.1 & Windows 2012
Get-NetIPConfiguration # Windows 8.1 & Windows 2012

Miten poistan IP-osoitteen v6 (IPv6) PowerShellilla?

Miten varmistan eli validoin IP-osoitteen v4 (IPv4) PowerShellissa?
if([ipaddress]'10.0.0.1'){'validated'}

Miten löydän ulkoisen IP-osoitteen PowerShellilla?

Miten löydän Isäntäpalvelimen nimen eli Hostnamen IP-osoitteen perusteella PowerShellilla?
([System.Net.Dns]::GetHostEntry($IP)).Hostname

Miten löydän IP-osoitteen Isäntänimen eli Hostnamen perusteella PowerShellissa?
([System.Net.Dns]::GetHostAddresses($computer)).IPAddressToString

Miten löydän FQDN:n Hostnamesta PowerShellilla?
[System.Net.Dns]::GetHostByName($computer).HostName

Miten löydän verkkoasetukset (IP, aliverkko, Gateway ja DNS) PowerShellilla?

Miten löydän MAC-osoitteen PowerShellilla?
Get-CimInstance win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress
Get-WmiObject -Class win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress

Miten pingaan tietokonetta PowerShellilla?

Miten tarkistan, onko tietokone yhteydessä Internetiin PowerShellilla?

Miten suoritan “whois”-lookupin eli haun verkkosivulle PowerShellilla?
$whois = New-WebServiceProxy 'http://www.webservicex.net/whois.asmx?WSDL'
$whois.GetWhoIs('powershell-guru.com')

Miten saan julkisen IP:n tiedot (Geolokaatio) PowerShellilla?

Miten tarkistan, onko portti auki / kiinni PowerShellilla?
New-Object -TypeName Net.Sockets.TcpClient -ArgumentList $computer, 135

Miten suoritan “tracert”:in PowerShellilla?
Test-NetConnection www.google.com -TraceRoute

Miten korjaan kotiverkkoyhteyden profiilin PowerShellilla?
Get-NetAdapter | Format-Table -Property Name, InterfaceDescription, ifIndex -AutoSize # Windows 8.1
Set-NetConnectionProfile -InterfaceIndex 6 -NetworkCategory Private

Miten näytän TCP-porttiyhteydet PowerShellilla?
netstat.exe -ano
Get-NetTCPConnection #Windows 8 and 2012

Miten lyhennän pitkän URL:in lyhyeksi URL:ksi PowerShellilla?
$url = 'www.powershell-guru.com'
$tiny = Invoke-RestMethod -Uri "http://tinyurl.com/api-create.php?url=$url"

Miten saan välityspalvelimen asetukset PowerShellilla?
Get-ItemProperty -Path HKCU:"Software\Microsoft\Windows\CurrentVersion\Internet Settings"

DNS

Miten tarkistan DNS-välimuistin paikallisella tietokoneella PowerShellissa?
ipconfig.exe /displaydns
Get-DnsClientCache #Windows 8 and 2012

Kuinka tyhjennän DNS-välimuistin paikallisella tietokoneella PowerShellissa?
ipconfig.exe /flushdns
Start-Process -FilePath ipconfig -ArgumentList /flushdns -WindowStyle Hidden
Clear-DnsClientCache #Windows 8 and 2012

Kuinka tyhjennän etätietokoneiden DNS-välimuistit PowerShellilla?
Invoke-Command -ScriptBlock {Clear-DnsClientCache} -ComputerName computer01, computer02

Miten luen Hosts-tiedoston PowerShellilla?
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'

Up


Password

Miten luon satunnaisen salasanan PowerShellilla?
[Reflection.Assembly]::LoadWithPartialName('System.Web')
[System.Web.Security.Membership]::GeneratePassword(30,2)

Miten muutan paikallisen salasanan järjestelmänvalvojalle etäpalvelimella PowerShellilla?
$admin = [ADSI]('WinNT://server01/administrator,user')
$admin.SetPassword($password)
$admin.SetInfo()

Miten löydän salasanan vanhenemispäivän tilille Active Directoryssa PowerShellilla?

Up


Printers

Miten listaan kaikki tulostimet tietylle palvelimelle PowerShellissa?
Get-WmiObject -Query 'Select * From Win32_Printer' -ComputerName $computer

Miten listaan kaikki portit tietylle palvelimelle PowerShellissa?
Get-WmiObject -Class Win32_TCPIPPrinterPort -Namespace 'root\CIMV2' -ComputerName $computer

Miten muutan tulostimen kommenttia / sijaintia PowerShellilla?

Miten tyhjennän (peruutan kaikki tulostustyöt) tulostimeen PowerShellilla?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.CancelAllJobs()

Miten tulostan testisivun tulostimeen PowerShellilla?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.PrintTestPage()

Miten saan tulostusjonot tulostimille PowerShellissa?

Up


Regedit

Read

Miten listaan rekisterirakenteet (registry hives) PowerShellilla?
Get-ChildItem -Path Registry::

Miten saan rekisteriarvot ja arvotyypit PowerShellilla?

Miten listaan rekisteriavainten aliavaimet PowerShellilla?

Miten listaan rekisteriavainten aliavaimet rekursiivisella tavalla PowerShellissa?
Get-ChildItem -Path 'HKLM:\SYSTEM' -Recurse -ErrorAction SilentlyContinue

Miten löydän aliavaimet tietyillä nimillä PowerShellissa?
Get-ChildItem -Path 'HKLM:\SOFTWARE' -Include *Plugin* -Recurse -ErrorAction SilentlyContinue

Miten palautan vain rekisterin aliavainten nimet PowerShellilla?
(Get-ChildItem -Path 'HKLM:\SYSTEM').Name # Return HKEY_LOCAL_MACHINE\SYSTEM\ControlSet
Get-ChildItem -Path 'HKLM:\SYSTEM' -Name # Return ControlSet

Miten listaan rekisterin arvot PowerShellilla?
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

Miten luen tietyn rekisteriarvon PowerShellilla?
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').ProductName

Miten luen tietyn rekisteriarvon etätietokoneella PowerShellissa?

Write

Miten luon uuden rekisteriavaimen PowerShellilla?
New-Item -Path 'HKCU:\Software\MyApplication'

Miten luon rekisteriarvon PowerShellilla?
New-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '1.0'

Miten muokkaan olemassa olevaa rekisteriarvoa PowerShellilla?
Set-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '2.0'

Delete

Miten poistan rekisteriarvon PowerShellilla?
Remove-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version'

Miten poistan rekisteriavaimen PowerShellilla?
Remove-Item -Path 'HKCU:\Software\MyApplication' -Force

Test

Miten testaan, onko rekisteriavain olemassa PowerShellilla?
Test-Path -Path 'HKCU:\Software\MyApplication'

Miten testaan, onko rekisterin arvo olemassa PowerShellilla?
(Get-Item -Path 'HKCU:\Software\MyApplication').GetValueNames() -contains 'Version'

Up


Strings

Miten poistan välilyöntimerkkejä merkkijonojen alusta PowerShellilla?
$string = ' PowershellGuru'
$string = $string.TrimStart()

Miten poistan välilyöntimerkkejä merkkijonojen lopusta PowerShellilla?
$string = 'PowershellGuru '
$string = $string.TrimEnd()

Miten poistan välilyöntimerkkejä (alusta ja lopusta) merkkijonoista PowerShellilla?
$string = ' PowershellGuru '
$string = $string.Trim()

Miten muunnan merkkijonon isoiksi merkeiksi kanssa PowerShellilla?
$string = 'powershellguru'
$string = $string.ToUpper()

Miten muunnan merkkijonon pieniksi merkeiksi PowerShellilla?
$string = 'POWERSHELLGURU'
$string = $string.ToLower()

Miten valitsen osamerkkijonon “PowerShell” merkkijonosta “PowershellGuru” PowerShellissa?
$string.Substring(0,10)

Miten valitsen osamerkkijonon “Guru” merkkijonosta “PowershellGuru” PowerShellissa?
$string.Substring(10)

Miten valitsen numeron “123” merkkijonosta “Powershell123Guru” PowerShellilla?
$string = 'Powershell123Guru'
[regex]::match($string,'(\d+)').value

Miten saan nollapohjaisen indeksin “Guru” merkkijonosta “PowershellGuru” PowerShellissa?
$string.IndexOf('Guru') # 10

Miten tarkistan, onko merkkijono nolla tai tyhjä PowerShellilla?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Miten tarkistan, onko merkkijono nolla, tyhjä tai koostuu vain välilyöntimerkeistä PowerShellissa?
$string = $null
$string = ''
$string = ' '
[string]::IsNullOrWhiteSpace($string)

Miten tarkistan, sisältääkö merkkijono tietyn kirjaimen PowerShellissa?
$string = 'PowershellGuru'
$string.Contains('s')
[regex]::match($string,'s').Success

Miten palautan merkkijonon pituuden PowerShellissa?
$string.Length

Miten liitän kaksi merkkijonoa PowerShellissa?

Miten täsmään yhden tai useamman hakasulkeen “[]” merkkijonossa PowerShellissa?
$string = '[PowershellGuru]'
$string -match '\[' # Only 1
$string -match '\[(.*)\]' # Several

Miten täsmään yhden tai useamman sulkeen “()” merkkijonossa PowerShellissa?
$string = '(PowershellGuru)'
$string -match '\(' # Only 1
$string -match '\((.*)\)' # Several

Miten täsmään yhden tai useamman aaltosulkeen “{}” merkkijonossa PowerShellissa?
$string = '{PowershellGuru}'
$string -match '\{' # Only 1
$string -match '\{(.*)\}' # Several

Miten tästmään yhden tai useamman kulmasulkeen “< >” merkkijonossa PowerShellissa?
$string = ''
$string -match '\<' # Only 1
$string -match "\<(.*)\>" # Several

Miten täsmään mitkä tahansa pienet kirjaimet (abc) merkkijonossa PowerShellissa?
$string = 'POWERSHELLGURU'
$string -cmatch "^[a-z]*$" #False

Miten täsmään mitkä tahansa isot kirjaimet (ABC) merkkijonossa PowerShellissa?
$string = 'powershellguru'
$string -cmatch "^[A-Z]*$" #False

Miten täsmään “[p” (p pienellä) merkkijonossa PowerShellissa?
$string = '[powershellGuru]'
$string -cmatch '\[[a-z]\w+' #True

Miten täsmään “[P” (P isolla) merkkijonossa PowerShellissa?
$string = '[PowershellGuru]'
$string -cmatch '\[[A-Z]\w+' #True

Miten korvaan rivin toisella rivillä PowerShellilla?
$a = 'Line A'
$b = 'Line B'
$a = $a -replace $a, $b

Miten muunnan jakolaskutoimituksen merkkijonoksi (prosentti) PowerShellissa?
(1/2).ToString('P')

Miten lajittelen numeroita sisältävät merkkijonot PowerShellilla?

Miten valitsen lauseen viimeisen sanan PowerShellilla?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ')[-1] # Returns Powershell

Miten saan lauseen pisimmän sanan PowerShellilla?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ') | Sort-Object -Property Length | Select-Object -Last 1 # Returns Powershell

Miten lasken, kuinka monta kertaa merkkijono on läsnä lauseessa PowerShellilla?
$sentence = 'test test test Powershell'
[regex]::Matches($sentence, 'test').Count # Returns 3

Kuinka kopioin jokaisen merkkijonon merkin merkkitaulukkoon PowerShellissa?

Miten muunnan ensimmäisen kirjaimen isoksi kirjaimeksi merkkijonossa PowerShellilla?

Miten täytän (vasen tai oikea) merkkijonon PowerShellilla?

Miten koodaan ja dekoodaan merkkijonon Base64:ksi PowerShellilla?

Miten muunnan numeron binaarista ja binaariksi PowerShellilla?

Miten palautan ainoastaan viimeisen pääkansion polussa PowerShellilla?

Miten palautan ainoastaan viimeisen kohteen polussa PowerShellilla?

Up


Math

Miten listaan metodit System.Math-luokassa PowerShellilla?
[System.Math] | Get-Member -Static -MemberType Method

Miten palautan absoluuttisen eli itseisarvon PowerShellissa?
[Math]::Abs(-12) #Returns 12
[Math]::Abs(-12.5) # Returns 12.5

Miten palautan kulman, jonka sini on tietty numero PowerShellilla?
[Math]::ASin(1) #Returns 1,5707963267949

Miten palautan katon PowerShellilla?
[Math]::Ceiling(1.4) #Returns 2
[Math]::Ceiling(1.9) #Returns 2

Miten palautan lattian PowerShellilla?
[Math]::Floor(1.4) #Returns 1
[Math]::Floor(1.9) #Returns 1

Miten palautan luonnollisen (base e) logaritmin tietylle numerolle PowerShellilla?
[Math]::Log(4) #Returns 1,38629436111989

Miten palautan base 10-logaritmin tietylle numerolle PowerShellilla?
[Math]::Log10(4) #Returns 0,602059991327962

Miten palautan suurimman kahdesta arvosta PowerShellilla?
[Math]::Max(2,4) #Returns 4
[Math]::Max(-2,-4) #Returns -2

Miten palautan pienimmän kahdesta arvosta PowerShellilla?
[Math]::Min(2,4) #Returns 2
[Math]::Max(-2,-4) #Returns -4

Miten palautan luvun korotettuna tiettyyn potenssiin PowerShellilla?
[Math]::Pow(2,4) #Returns 16

Miten palautan desimaaliarvon lähimpään integraaliarvoon PowerShellilla?
[Math]::Round(3.111,2) #Returns 3,11
[Math]::Round(3.999,2) #Returns 4

Miten palautan integraaliosan tietystä desimaalinumerosta PowerShellilla?
[Math]::Truncate(3.111) #Returns 3
[Math]::Truncate(3.999) #Returns 3

Miten palautan neliöjuuren tietystä numerosta PowerShellilla?
[Math]::Sqrt(16) #Returns 4

Miten palautan PI-vakion PowerShellilla?
[Math]::Pi #Returns 3,14159265358979

Miten palautan luonnollinen logaritmisen basen (vakio e) PowerShellilla?
[Math]::E #Returns 2,71828182845905

Miten tarkistan, onko numero parillinen vai pariton PowerShellilla?
[bool]($number%2)

Up


Hashtables

Miten luon tyhjän hashtablen PowerShellilla?
$hashtable = @{}
$hashtable = New-Object -TypeName System.Collections.Hashtable

Miten luon hashtable kohteilla PowerShellissa?

Miten luon hashtablen järjestettynä avaimen/nimen (järjestetty sanakirja) mukaan kohteilla PowerShellissa?

Miten lisään kohteita (avain-arvopari) hashtableen PowerShellilla?
$hashtable.Add('Key4', 'Value4')

Miten saan hashtablen tietyn arvon PowerShellilla?

Miten saan hashtablen minimiarvon PowerShellilla?

Miten saan hashtablen maksimiarvon PowerShellilla?

Miten muokkaan kohteita hashtablessa PowerShellilla?
$hashtable.Set_Item('Key1', 'Value1Updated')

Miten poistan kohteita hastablesta PowerShellilla?
$hashtable.Remove('Key1')

Kuinka tyhjennän hashtablen PowerShellilla?
$hashtable.Clear()

Miten tarkistan tietyn avaimen/arvon olemassaolon hashtablessa PowerShellilla?
$hashtable.ContainsKey('Key3')
$hashtable.ContainsValue('Value3')

Miten lajittelen hashtablen avaimen/arvon mukaan PowerShellilla?
$hashtable.GetEnumerator() | Sort-Object -Property Name
$hashtable.GetEnumerator() | Sort-Object -Property Value -Descending

Up


Arrays

Miten luon tyhjän taulukon PowerShellilla?
$array = @()
$array = [System.Collections.ArrayList]@()

Miten luon taulukon kohteilla PowerShellilla?
$array = @('A', 'B', 'C')
$array = 'A', 'B', 'C'
$array = 'a,b,c'.Split(',')
$array = .{$args} a b c
$array = echo a b c

Kuinka lisään kohteita taulukkoon PowerShellilla?
$array += 'D'
[void]$array.Add('D')

Miten muokkaan kohdetta taulukossa PowerShellilla?
$array[0] = 'Z' # 1st item[0]

Miten tarkistan taulukon koon PowerShellilla?
$array = 'A', 'B', 'C'
$array.Length # Returns 3

Miten haen yhden / usean / kaikki kohteet taulukosta PowerShellilla?
$array = @('A', 'B', 'C')
$array[0] # One item (A)
$array[0] + $array[2] # Several items (A,C)
$array # All items (A,B,C)

Miten poistan tyhjät kohteet taulukossa PowerShellilla?
$array = @('A', 'B', 'C', '')
$array = $array.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) | Sort-Object # A,B,C

Miten tarkistan, onko kohde olemassa taulukossa PowerShellilla?
$array = @('A', 'B', 'C')
'A' | ForEach-Object -Process {$array.Contains($_)} # Returns True
'D' | ForEach-Object -Process {$array.Contains($_)} # Returns False

Miten löydän kohteen indeksiluvun taulukossa PowerShellilla?
$array = @('A', 'B', 'C')
[array]::IndexOf($array,'A') # Returns 0

Miten käännän alkioiden järjestyksen taulukossa PowerShellilla?
$array = @('A', 'B', 'C')
[array]::Reverse($array) # C,B,A

Miten luon satunnaisen alkion taulukkoon PowerShellilla?
$array | Get-Random

Miten lajittelen taulukon nousevassa / laskevassa järjestyksessä PowerShellilla?
$array = @('A', 'B', 'C')
$array | Sort-Object # A,B,C
$array | Sort-Object -Descending # C,B,A

Miten lasken taulukossa olevien alkioiden määrän PowerShellilla?
$array.Count

Kuinka lisään taulukon toiseen PowerShellilla?
$array1 = 'A', 'B', 'C'
$array2 = 'D', 'E', 'F'
$array3 = $array1 + $array2 # A,B,C,D,E,F

Miten löydän kaksoiskappaleet taulukossa PowerShellilla?
$array = 'A', 'B', 'C', 'C'
($array | Group-Object | Where-Object -FilterScript {$_.Count -gt 1}).Values # Returns C

Miten poistan kaksoiskappaleet taulukossa PowerShellilla?