恆逸課程:Microsoft - AZ040 使用Windows PowerShell進行自動化管理
前言:
這邊把自己所聽所學所吸收的知識轉換成自己的方式呈現,一定會有疏漏或沒聽懂沒聽到沒理解的地方。
我依然停留在見山是山的境界。
上一篇:Day-2 課程 使用 PowerShell 進行自動化管理(二)
下一篇:Day-3 課程 使用 PowerShell 進行自動化管理(二)
第三天上午上半場主要講的內容如下
管道(Pipeline):
管道 | 可以將一個指令的輸出傳遞給另一個指令,實現更複雜的操作。
雖然用英文講會更精確,但在很多時候,不得不用中文解釋時,我更喜歡叫它「水管」
不知道為什麼。
Pipeline是一種功能強大的概念,它允許我們將一個命令的輸出直接作為另一個命令的輸入。
這使得我們可以通過組合不同的命令,以更簡潔和有效的方式處理數據。
個人舉一個例子:
將hello, world 字母由小寫轉換成大寫,如果不用水管的話,就得寫這麼多
$originalString = "hello, world"
$uppercaseString = ForEach-Object { $_.ToUpper() } -InputObject $originalString
$uppercaseString
那如果用水管呈現的話,就簡單乾淨的多
"hello, world" | ForEach-Object { $_.ToUpper() }
測量(Measuring)對象通常是使用 Measure-Object cmdlet 來完成的。
這個 cmdlet 用於計算對象集合的統計信息,例如數量、總和、平均值、最小值和最大值。
範例:
這邊拿C:\底下三個文件做測試
使用 Get-ChildItem 檢索文件對象,並測量 Length 屬性的統計信息
Get-ChildItem -File | Measure-Object -Property Length -Sum -Average -Maximum -Minimum
統計 「DayOne.txt」、「Setup-20533.ps1」、「新文字文件.txt」測量結果為
Count(數量) : 3
Average(平均值) : 551
Sum(總和) : 1653
Maximum(最大值) : 866
Minimum(最小值) : 86
Property(屬性) : Length
Length 的單位是 bytes,如果需要把它轉換比較容易查看的方式
個人補充:
$result = Get-ChildItem -File | Measure-Object -Property Length -Sum -Average -Maximum -Minimum
# 將結果格式化成帶有單位的字符串
$maxSizeWithUnit = "{0} bytes" -f ($result.Maximum)
$minSizeWithUnit = "{0} bytes" -f ($result.Minimum)
$avgSizeWithUnit = "{0} bytes" -f ($result.Average)
$sumSizeWithUnit = "{0} bytes" -f ($result.Sum)
# 顯示帶有單位的結果
Write-Host "Count : $($result.Count)"
Write-Host "Average : $avgSizeWithUnit"
Write-Host "Sum : $sumSizeWithUnit"
Write-Host "Maximum : $maxSizeWithUnit"
Write-Host "Minimum : $minSizeWithUnit"
Write-Host "Property : $($result.Property)"
OS:我發現講師蠻喜歡用「Powershell命令列 」的,我個人還是喜歡用ISE。
Select-Object
意味著從一組對象中選擇或過濾出符合特定條件的資訊
直接上課程範例:
使用 Get-Date 獲取當前日期和時間
Get-Date
使用 Get-Date 獲取當前日期和時間,然後使用 Select-Object 選擇 DayOfYear 屬性
Get-Date | Select-Object –Property DayOfYear
獲取當前日期的 DayOfYear
屬性,然後以格式清單 (fl
) 的形式顯示。
DayOfYear
表示一年中的第幾天,介於 1 到 366 之間。
Get-Date | Select-Object -Property DayOfYear | fl
其實課程枚舉很多方式的範例,這邊就不一一呈現,而且遠端教學聲音忽大忽小,一下就講過去了 ... 因此我只好自己給自己增加一些範例在筆記裡面。
反正觀念釐清處就行了。對吧?
然後我自己所不足的就是太依賴複製貼上,我還沒能力像講師那樣信手沾來。
須檢討呀。
Tips: