Professional Documents
Culture Documents
Foti Marcell PowerShell EMS
Foti Marcell PowerShell EMS
Foti Marcell PowerShell EMS
net-alapú shell, de
Kis-nagybetű érzéketlen
Variant változók
Típushű objektumok, adatok
Command és Expression mód
Minden adat – collection
Távoli futtatás egyelőre nincs
Parancssor és PS-Analyzer
.PS1 fájlok
Ige-főnév
Get-Process, Get-Childitem, Get-Help
Stop-Service, Set-Location
A paramétereket mindig a shell dolgozza fel
Egységes formátum
Ha saját parancsot írunk, nem kell paraméterfeldolgozással
bíbelődni
Wildcard-ready: *, ?, []
Utasítás-zárójel: { }
Expression Mode: ()
Változók: $alma, $_
Egy sorban több parancs: ;
Konstansok (1kb, 2mb, 3gb)
Pipe: |
Get-Help (-e)
Parancsok, Aliasok, Helpek, Providerek
Get-Command (get-command | group noun)
Parancsok, Aliasok, függvények, alkalmazások
Get-Member (get-date | get-member)
(„asda”.Substring())
A lekérdezett objektumok összes metódusa és tulajdonsága
Get-PSDrive
Az összes provider, amit be lehet járni DIR-DURR
DIR Alias:
Kétbetűs aliasok (Set-Location, SL; Stop Process, SP)
SQL-jellegű aliasok (SELECT, WHERE)
Kompatibilitási aliasok (DIR, LS, CD)
Set-Location (CD)
Set-Location C:
CD HKLM:
SL Cert:
CHDIR Env:
Get-Childitem (DIR)
LS, DIR, GCI
Minden parancs objektumhalmazokkal dolgozik
1, 2, 3, 4
A halmazok tetszőleges és vegyes típusú elemeket
tartalmaznak
Get-Childitemnél fájlok+könyvtárak vegyesen
Dir ; 1, 2, 3, 4
A halmaz egyes elemeit Foreach-Object-tel lehet
egyesével kezelni
foreach {$_}
$_ a halmaz aktuális eleme (1..5 | foreach {“blabla$_"})
dir | foreach {$_.LastAccessTime - $_.LastWriteTime}
Munka objektumkupacokkal
Select-Object
Oszlopok kiválogatása (kivéve –first, -last)
Where-Object
Sorok kiválogatása {$_}
Sort-Object
Sorbarendezés
Összetett műveletek
Az öt legnagyobb olyan fájl, amit 2007-ben módosítottak
Group-Object
Tetszőleges property alapján
Measure-Object
Statisztika
Nyalánkságok
Fájlkezelés
Get-content, set-content
.net objektumok statikus metódusainak
meghívása
[névtér]::Metódus()
WMI-objektumok megszólítása
Get-wmiobject
PowerGadgets
Exchange 2003 (VBScript) E12 (PowerShell one-liner)
Mailbox
Statistics
Set listExchange_Mailboxs =
GetObject("winmgmts:{impersonationLevel=impersonate}!\\COMPUTERNAME\ROOT\MicrosoftExchangeV2").
InstancesOf("Exchange_Mailbox")
get-mailboxstatistics
For Each objExchange_Mailbox in listExchange_Mailboxs
–server $servername
WScript.echo "AssocContentCount =” + objExchange_Mailbox.AssocContentCount
WScript.echo " DateDiscoveredAbsentInDS =” + objExchange_Mailbox.DateDiscoveredAbsentInDS
WScript.echo " DeletedMessageSizeExtended =” + objExchange_Mailbox. DeletedMessageSizeExtended
WScript.echo " LastLoggedOnUserAccount =” + objExchange_Mailbox. LastLoggedOnUserAccount
WScript.echo " LastLogoffTime =” + objExchange_Mailbox. LastLogoffTime
WScript.echo " LastLogonTime =” + objExchange_Mailbox. LastLogonTime
WScript.echo " LegacyDN =” + objExchange_Mailbox. LegacyDN
WScript.echo " MailboxDisplayName =” + objExchange_Mailbox. MailboxDisplayName
WScript.echo " MailboxGUID =” + objExchange_Mailbox. MailboxGUID
WScript.echo " ServerName =” + objExchange_Mailbox. ServerName
WScript.echo " Size =” + objExchange_Mailbox. Size
WScript.echo " StorageGroupName =” + objExchange_Mailbox. StorageGroupName
WScript.echo " StorageLimitInfo =” + objExchange_Mailbox. StorageLimitInfo
WScript.echo " StoreName =” + objExchange_Mailbox. StoreName
WScript.echo " TotalItems =” + objExchange_Mailbox. TotalItems
Next
Get-MessageTrackingLog -MessageSubject
"SomeTextFromTheSubject" | Group ClientIP |
Select Name | nslookup $_
param( [string]$server = $(read-host "Target server"))