Όλα τα εργαλεία
Δωρεάν

Ένας οδηγός αναφοράς PowerShell με δυνατότητα αναζήτησης και εκτύπωσης — cmdlets, ο αγωγός (pipeline), μεταβλητές, αρχεία, βρόχοι, συναρτήσεις, αντικείμενα και διαχείριση. Δωρεάν.

Λήψη βοήθειας & ανακάλυψη

12
Get-Help Get-Process
Εμφάνιση βοήθειας για cmdlet
Get-Help Get-Process -Examples
Εμφάνιση παραδειγμάτων χρήσης για cmdlet
Get-Help Get-Process -Full
Εμφάνιση πλήρους βοήθειας με παραμέτρους
Get-Help about_Functions
Ανάγνωση εννοιολογικού θέματος about_
Update-Help
Λήψη των πιο πρόσφατων αρχείων βοήθειας
Get-Command -Noun Process
Λίστα cmdlets που δρουν σε ένα noun
Get-Command -Verb Get
Λίστα cmdlets που χρησιμοποιούν ένα verb
Get-Command *service*
Αναζήτηση εντολών με wildcard όνομα
Get-Process | Get-Member
Λίστα ιδιοτήτων και μεθόδων των objects
Get-Alias ls
Εμφάνιση σε ποια εντολή αναλύεται ένα alias
Get-Alias -Definition Get-ChildItem
Λίστα όλων των aliases για ένα cmdlet
$PSVersionTable
Εμφάνιση έκδοσης και edition PowerShell

Μεταβλητές & τύποι

13
$x = 5
Ανάθεση τιμής σε μεταβλητή
[int]$n = '42'
Δήλωση strongly typed μεταβλητής
$null
Η τιμή null / κενή
$true; $false
Boolean literals
$arr = @(1, 2, 3)
Δημιουργία array
$arr += 4
Προσθήκη στοιχείου σε array
$arr[0]; $arr[-1]
Index πρώτου και τελευταίου στοιχείου array
$hash = @{ Name = 'Ann'; Age = 30 }
Δημιουργία hashtable
$hash['Name']; $hash.Name
Ανάγνωση τιμής hashtable με key
$env:PATH
Ανάγνωση environment variable
$env:MY_VAR = 'value'
Ορισμός environment variable για τη συνεδρία
Get-Variable
Λίστα όλων των ορισμένων μεταβλητών
[math]::Round(3.14159, 2)
Κλήση static .NET μεθόδου

Pipeline & φιλτράρισμα

12
Get-Process | Where-Object { $_.CPU -gt 10 }
Φιλτράρισμα objects με συνθήκη
Get-Process | ? CPU -gt 10
Φιλτράρισμα με το alias ? και απλοποιημένη σύνταξη
Get-Process | ForEach-Object { $_.Name }
Εκτέλεση script block για κάθε object
Get-Process | % { $_.Kill() }
Επανάληψη με το alias %
Get-Process | Select-Object Name, Id
Διατήρηση μόνο συγκεκριμένων ιδιοτήτων
Get-Process | Select-Object -First 5
Λήψη των πρώτων N objects
Get-Process | Sort-Object CPU -Descending
Ταξινόμηση objects με ιδιότητα
Get-Process | Group-Object Company
Ομαδοποίηση objects με ιδιότητα
Get-Process | Measure-Object CPU -Sum
Συγκέντρωση αριθμητικών τιμών (sum, average)
Get-ChildItem | Select-Object -Unique
Επιστροφή μοναδικών objects
1..5 | ForEach-Object { $_ * 2 }
Pipe ενός range μέσα από transform
Get-Process | Out-GridView
Αποστολή αποτελεσμάτων σε διαδραστικό grid

Αρχεία & διαδρομές

13
Get-ChildItem -Path C:\Logs
Λίστα στοιχείων σε κατάλογο (alias ls/dir)
Get-ChildItem -Recurse -Filter *.log
Λίστα αρχείων αναδρομικά
Get-Content .\file.txt
Ανάγνωση αρχείου γραμμή-γραμμή
Get-Content .\file.txt -Tail 20
Ανάγνωση των τελευταίων N γραμμών αρχείου
Set-Content .\file.txt -Value 'Hi'
Εγγραφή (αντικατάσταση) κειμένου σε αρχείο
Add-Content .\file.txt -Value 'Hi'
Προσάρτηση κειμένου σε αρχείο
Copy-Item a.txt b.txt
Αντιγραφή αρχείου ή καταλόγου
Move-Item a.txt .\dir\
Μετακίνηση ή μετονομασία στοιχείου
Remove-Item a.txt -Force
Διαγραφή αρχείου ή καταλόγου
New-Item -ItemType Directory -Path .\dir
Δημιουργία νέου αρχείου ή καταλόγου
Test-Path .\file.txt
Έλεγχος αν υπάρχει μια διαδρομή
Get-Location
Εμφάνιση τρέχοντος καταλόγου (alias pwd)
Set-Location C:\Temp
Αλλαγή τρέχοντος καταλόγου (alias cd)

Strings & κείμενο

12
'Hello World' -match 'World'
Έλεγχος string έναντι regex
'Hello' -replace 'l', 'L'
Αντικατάσταση κειμένου με regex
'a,b,c' -split ','
Διαχωρισμός string σε array με regex
'a-b-c'.Split('-')
Διαχωρισμός με τη .NET μέθοδο String
'a', 'b' -join ', '
Ένωση στοιχείων array σε string
Select-String -Path *.log -Pattern 'error'
Αναζήτηση τύπου grep σε αρχεία
'{0} of {1}' -f 3, 10
Μορφοποίηση string με placeholders
' hi '.Trim()
Αφαίρεση αρχικού και τελικού whitespace
'Hello'.ToUpper()
Μετατροπή string σε κεφαλαία
'Hello'.Substring(0, 3)
Εξαγωγή substring με index και μήκος
'Hello'.Contains('ell')
Έλεγχος αν ένα string περιέχει κείμενο
'Hello'.Length
Λήψη του πλήθους χαρακτήρων

Loops & συνθήκες

12
if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
Διακλάδωση με if / elseif / else
switch ($x) { 1 { 'one' } default { 'other' } }
Αντιστοίχιση τιμής με cases
foreach ($i in $arr) { $i }
Επανάληψη πάνω σε collection
for ($i = 0; $i -lt 5; $i++) { $i }
Counted loop με index
while ($x -lt 10) { $x++ }
Loop όσο μια συνθήκη είναι true
do { $x++ } while ($x -lt 10)
Loop τουλάχιστον μία φορά, μετά έλεγχος
$x -eq 5; $x -ne 5
Συγκρίσεις ίσο και διάφορο
$x -gt 5; $x -lt 5
Συγκρίσεις μεγαλύτερο και μικρότερο
$x -ge 5; $x -le 5
Συγκρίσεις μεγαλύτερο/μικρότερο-ή-ίσο
'abc' -like 'a*'
Σύγκριση wildcard match
@(1, 2, 3) -contains 2
Έλεγχος συμμετοχής σε array
break; continue
Έξοδος ή παράλειψη της τρέχουσας επανάληψης

Συναρτήσεις & scripts

12
function Get-Sum { param($a, $b) $a + $b }
Ορισμός συνάρτησης με παραμέτρους
Get-Sum -a 2 -b 3
Κλήση συνάρτησης με named ορίσματα
function Test { param([int]$n = 1) }
Typed παράμετρος με προεπιλεγμένη τιμή
param([Parameter(Mandatory)]$Name)
Απαίτηση να δοθεί μια παράμετρος
return $value
Επιστροφή τιμής από συνάρτηση
function F { [CmdletBinding()] param() }
Δημιουργία advanced function (common params)
Write-Verbose 'msg' -Verbose
Έκδοση verbose stream μηνυμάτων
Write-Output $result
Αποστολή object στο pipeline
Write-Error 'failed'
Εγγραφή στο error stream
.\script.ps1 -Arg value
Εκτέλεση αρχείου script με ορίσματα
. .\functions.ps1
Dot-source ενός script στη συνεδρία
try { } catch { $_ } finally { }
Χειρισμός terminating σφαλμάτων

Objects & ιδιότητες

12
Get-Process | Select-Object -ExpandProperty Name
Επιστροφή raw τιμών ιδιοτήτων, όχι objects
(Get-Process).Name
Πρόσβαση ιδιότητας σε κάθε object
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
Προσθήκη υπολογισμένης ιδιότητας
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
Δημιουργία προσαρμοσμένου object
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
Προσθήκη ιδιότητας σε object
$obj.PSObject.Properties.Name
Λίστα ονομάτων ιδιοτήτων object
$obj | Format-Table -AutoSize
Εμφάνιση objects ως ευθυγραμμισμένος πίνακας
$obj | Format-List *
Εμφάνιση όλων των ιδιοτήτων ως λίστα
$obj | ConvertTo-Json -Depth 5
Serialize object σε JSON
Get-Content data.json | ConvertFrom-Json
Ανάλυση JSON σε objects
$obj | Export-Csv out.csv -NoTypeInformation
Εξαγωγή objects σε αρχείο CSV
Import-Csv data.csv
Ανάγνωση αρχείου CSV σε objects

Διεργασίες & υπηρεσίες

12
Get-Process
Λίστα ενεργών διεργασιών (alias ps)
Get-Process -Name chrome
Λήψη διεργασιών με όνομα
Stop-Process -Name notepad -Force
Τερματισμός διεργασίας
Start-Process notepad.exe
Εκκίνηση νέας διεργασίας
Get-Service
Λίστα υπηρεσιών Windows
Get-Service -Name wuauserv
Λήψη υπηρεσίας με όνομα
Start-Service -Name wuauserv
Εκκίνηση σταματημένης υπηρεσίας
Stop-Service -Name wuauserv
Διακοπή εκτελούμενης υπηρεσίας
Restart-Service -Name wuauserv
Επανεκκίνηση υπηρεσίας
Set-Service -Name wuauserv -StartupType Manual
Αλλαγή τρόπου εκκίνησης υπηρεσίας
Get-EventLog -LogName System -Newest 20
Ανάγνωση πρόσφατων κλασικών event-log εγγραφών
Get-WinEvent -LogName Application -MaxEvents 20
Ερώτημα σε σύγχρονα event logs

Remoting & jobs

12
Enter-PSSession -ComputerName Srv01
Έναρξη διαδραστικής απομακρυσμένης συνεδρίας
Exit-PSSession
Έξοδος από διαδραστική απομακρυσμένη συνεδρία
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
Εκτέλεση εντολής σε απομακρυσμένο host
$s = New-PSSession -ComputerName Srv01
Δημιουργία μόνιμης απομακρυσμένης συνεδρίας
Invoke-Command -Session $s -ScriptBlock { hostname }
Επαναχρήση υπάρχουσας απομακρυσμένης συνεδρίας
Remove-PSSession $s
Κλείσιμο και αφαίρεση απομακρυσμένης συνεδρίας
Start-Job -ScriptBlock { Get-Process }
Εκτέλεση εντολής ως background job
Get-Job
Λίστα background jobs και της κατάστασής τους
Receive-Job -Id 1 -Keep
Ανάκτηση της εξόδου ενός job
Wait-Job -Id 1
Αναμονή μέχρι να ολοκληρωθεί ένα job
Stop-Job -Id 1; Remove-Job -Id 1
Διακοπή και αφαίρεση background job
Get-Process | Start-ThreadJob { $input }
Εκτέλεση ελαφρών in-process thread jobs

Modules & πακέτα

12
Get-Module
Λίστα τρεχόντων φορτωμένων modules
Get-Module -ListAvailable
Λίστα όλων των εγκατεστημένων modules
Import-Module Pester
Φόρτωση module στη συνεδρία
Remove-Module Pester
Αφαίρεση module από τη συνεδρία
Find-Module -Name PSReadLine
Αναζήτηση module στο gallery
Install-Module PSReadLine -Scope CurrentUser
Εγκατάσταση module από το gallery
Update-Module PSReadLine
Ενημέρωση εγκατεστημένου module
Uninstall-Module PSReadLine
Αφαίρεση εγκατεστημένου module
Get-ExecutionPolicy
Εμφάνιση τρέχοντος execution policy scripts
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Επιτρέπει την εκτέλεση signed και τοπικών scripts
Get-PSRepository
Λίστα ρυθμισμένων package repositories
$PROFILE
Διαδρομή του profile script του τρέχοντος χρήστη

Καμία καταχώριση δεν ταιριάζει με «:q».


Κοινοποίηση
Χρειάζεστε βοήθεια;
Βρήκατε πρόβλημα με αυτό το εργαλείο; Ενημερώστε μας.
Αναφορά προβλήματος

Προσθέστε αυτό το δωρεάν εργαλείο στον δικό σας ιστότοπο — αντιγράψτε και επικολλήστε τον παρακάτω κώδικα.