PowerShell สำหรับผู้เริ่มต้น

เมื่อทำงานกับ PowerShell สิ่งแรกที่เราพบคือคำสั่ง (Cmdlets)
การเรียกใช้คำสั่งมีลักษณะดังนี้:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

การช่วยเหลือ

ความช่วยเหลือใน PowerShell เข้าถึงได้โดยใช้คำสั่ง Get-Help สามารถระบุพารามิเตอร์อย่างใดอย่างหนึ่ง: ตัวอย่าง รายละเอียด เต็ม ออนไลน์ showWindow

Get-Help Get-Service -full จะส่งคืนคำอธิบายแบบเต็มของการดำเนินการของคำสั่ง Get-Service
Get-Help Get-S* จะแสดงคำสั่งและฟังก์ชันที่มีอยู่ทั้งหมดที่ขึ้นต้นด้วย Get-S*

นอกจากนี้ยังมีเอกสารโดยละเอียดในเว็บไซต์อย่างเป็นทางการของ Microsoft

นี่คือตัวอย่างความช่วยเหลือสำหรับคำสั่ง Get-Evenlog

PowerShell สำหรับผู้เริ่มต้น

หากพารามิเตอร์อยู่ในวงเล็บเหลี่ยม [] แสดงว่าไม่บังคับ
นั่นคือ ในตัวอย่างนี้ จำเป็นต้องระบุชื่อของบันทึกเอง และชื่อของพารามิเตอร์ เลขที่ หากประเภทพารามิเตอร์และชื่ออยู่ในวงเล็บเหลี่ยมด้วยกัน พารามิเตอร์นี้เป็นทางเลือก

หากคุณดูที่พารามิเตอร์ EntryType คุณจะเห็นค่าที่อยู่ในวงเล็บปีกกา สำหรับพารามิเตอร์นี้ เราสามารถใช้ค่าที่กำหนดไว้ล่วงหน้าในวงเล็บปีกกาเท่านั้น

เราสามารถดูข้อมูลเกี่ยวกับว่าพารามิเตอร์นั้นจำเป็นหรือไม่ในคำอธิบายด้านล่างในช่องที่จำเป็น ในตัวอย่างข้างต้น แอตทริบิวต์ After เป็นตัวเลือกหรือไม่ก็ได้ เนื่องจาก Required ถูกตั้งค่าเป็นเท็จ ต่อไปเราจะเห็นฟิลด์ตำแหน่งตรงข้ามซึ่งระบุว่าชื่อ ซึ่งหมายความว่าคุณสามารถอ้างถึงพารามิเตอร์โดยใช้ชื่อเท่านั้น นั่นคือ:

Get-EventLog -LogName Application -After 2020.04.26

เนื่องจากพารามิเตอร์ LogName มีเลข 0 แทนที่จะเป็น Named หมายความว่าเราสามารถอ้างถึงพารามิเตอร์โดยไม่มีชื่อ แต่ระบุตามลำดับที่ต้องการได้:

Get-EventLog Application -After 2020.04.26

สมมติว่าคำสั่งนี้:

Get-EventLog -Newest 5 Application

นามแฝง

เพื่อให้เราสามารถใช้คำสั่งปกติจากคอนโซลใน PowerShell มีนามแฝง (Alias)

ตัวอย่างนามแฝงสำหรับคำสั่ง Set-Location คือ cd

นั่นคือแทนที่จะเรียกคำสั่ง

Set-Location “D:”

เราสามารถใช้

cd “D:”

ประวัติขององค์กร

หากต้องการดูประวัติการเรียกคำสั่ง คุณสามารถใช้ Get-History

ดำเนินการคำสั่งจากประวัติการเรียกใช้ประวัติ 1; เรียกใช้ประวัติ 2

ล้างประวัติ

ท่อ

ไปป์ไลน์ใน PowerShell คือเมื่อผลลัพธ์ของฟังก์ชันแรกถูกส่งไปยังฟังก์ชันที่สอง นี่คือตัวอย่างการใช้ไปป์ไลน์:

Get-Verb | Measure-Object

แต่เพื่อให้เข้าใจไปป์ไลน์ดีขึ้น ลองยกตัวอย่างง่ายๆ กัน มีทีม

Get-Verb "get"

ถ้าเราเรียก Get-Help Get-Verb -Full help เราจะเห็นว่าพารามิเตอร์ Verb รับอินพุต pipline และ ByValue เขียนไว้ในวงเล็บ

PowerShell สำหรับผู้เริ่มต้น

ซึ่งหมายความว่าเราสามารถเขียน Get-Verb จาก "get" เป็น "get" | ได้ GetVerb.
นั่นคือ ผลลัพธ์ของนิพจน์แรกคือสตริง และจะถูกส่งผ่านไปยังพารามิเตอร์ Verb ของคำสั่ง Get-Verb ผ่านทาง pipline อินพุตตามค่า
อินพุตไปป์ไลน์สามารถเป็น ByPropertyName ในกรณีนี้ เราจะส่งวัตถุที่มีคุณสมบัติที่มีชื่อคล้ายกันกริยา

ตัวแปร

ตัวแปรไม่ได้พิมพ์ตายตัวและระบุด้วย $ นำหน้า

$example = 4

สัญลักษณ์ > หมายถึง ใส่ข้อมูลเข้าไป
ตัวอย่างเช่น $example > File.txt
ด้วยนิพจน์นี้ เราจะใส่ข้อมูลจากตัวแปร $example ลงในไฟล์
เหมือนกับ Set-Content -Value $example -Path File.txt

อาร์เรย์

การเริ่มต้นอาร์เรย์:

$ArrayExample = @(“First”, “Second”)

การเริ่มต้นอาร์เรย์ที่ว่างเปล่า:

$ArrayExample = @()

รับค่าตามดัชนี:

$ArrayExample[0]

รับอาร์เรย์ทั้งหมด:

$ArrayExample

การเพิ่มองค์ประกอบ:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

เรียงลำดับโดย:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

แต่อาร์เรย์เองยังคงไม่เปลี่ยนแปลงด้วยการเรียงลำดับนี้ และถ้าเราต้องการให้อาร์เรย์มีข้อมูลที่เรียงลำดับ เราก็จำเป็นต้องกำหนดค่าที่เรียงลำดับ:

$ArrayExample = $ArrayExample | Sort

ไม่มีวิธีลบองค์ประกอบออกจากอาร์เรย์ใน PowerShell แต่คุณสามารถทำได้ดังนี้:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

การลบอาร์เรย์:

$ArrayExample = $null

ลูป

ไวยากรณ์ของลูป:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

ออกจากวงจรแบ่ง

ข้ามองค์ประกอบดำเนินการต่อ

งบเงื่อนไข

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

ฟังก์ชัน

นิยามฟังก์ชัน:

function Example () {
  echo &args
}

การเปิดตัวฟังก์ชั่น:

Example “First argument” “Second argument”

การกำหนดอาร์กิวเมนต์ในฟังก์ชัน:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

การเปิดตัวฟังก์ชั่น:

Example -first “First argument” -second “Second argument”

ข้อยกเว้น

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

ที่มา: will.com

เพิ่มความคิดเห็น