「腳本」標籤的文章
帶有「腳本」標籤的文章共 14 篇,依發布日期由新到舊排列。
-
用 PSScriptAnalyzer 守護 PowerShell 腳本的品質 ── 規則挑選與 CI 導入
本文是將 PowerShell 靜態分析工具 PSScriptAnalyzer 導入公司內部腳本的實務指南。內容涵蓋應優先啟用的規則、設定檔的寫法、對既有資產的階段性導入,以及在 GitHub Actions 中建置 CI 的方法。
-
PowerShell 腳本太慢時該檢查的地方 ── 陣列・管線・比對的訣竅
整理 PowerShell 腳本變慢的常見原因。從實務角度解說陣列 += 造成 O(n^2) 的原因、管線與 foreach 的差異、比對的雜湊表化、檔案 I/O 的改善,以及正確的測量方式。
-
告別 Write-Host ── PowerShell 的輸出資料流與日誌設計
本文整理 PowerShell 六個輸出資料流的使用區分、Write-Host 所存在的問題與正確用途、函式傳回值被污染的原因、透過 -Verbose 與 -InformationVariable 由呼叫端進行控制的方法,以及結構化日誌的留存方式。
-
PowerShell 的並行處理 ── ForEach-Object -Parallel 與工作(Job)的選用之道
從實務角度整理 ForEach-Object -Parallel、Start-ThreadJob、Start-Job 的差異與選用方式,$using: 與執行緒安全性,ThrottleLimit 的決定方法,以及反而變慢的情況。
-
從 PowerShell 正確呼叫外部 exe ── 引數的引號、結束代碼、亂碼陷阱
從 PowerShell 呼叫 robocopy 或公司內部 EXE 時,引數會被破壞、拿不到結束代碼、輸出出現亂碼。本文從實務角度整理 PowerShell 7.3 的引數傳遞變更、停止剖析權杖 --%、以及 Start-Process 的使用時機。
-
那個批次檔,該遷移到 PowerShell 嗎? ── cmd/bat 資產盤點與遷移判斷
以判斷表整理企業內部殘留的批次檔(bat)是否該遷移到 PowerShell。對比 cmd 與 VBScript 的處境、bat 特有的弱點(例如錯誤不會中斷執行)、過渡期的寫法、指令改寫對照表與遷移步驟。
-
PowerShell 呼叫 COM 與 .NET 的實戰 ── 一口氣擴大腳本能觸及的範圍
從 PowerShell 呼叫 .NET 類別的方法、透過 Add-Type 組入 C# 與 Win32 API、COM 操作、Excel 的處理程序殘留與後續處理、Office 無人執行不受支援的原因,到 5.1 與 7 的差異,皆以實務角度解說。
-
PowerShell 中安全處理認證資訊 ── 把明文密碼逐出腳本
本文整理將 PowerShell 腳本中的明文密碼遷移至安全保存方式的做法,說明 SecureString 的實際樣貌與限制、Export-Clixml 透過 DPAPI 保存的機制,以及 SecretManagement/SecretStore 的適用場合。
-
PowerShell 腳本的引數設計與模組化 ── 從「能動的腳本」到「能交給別人用的腳本」
本文整理將 PowerShell 腳本提升到可以交給別人使用之品質的步驟,說明 param 區塊與 [CmdletBinding()]、輸入驗證、管線輸入、-WhatIf 對應、.psm1 模組化,一直到公司內部共用與 Git 管理的要點。
-
用 PowerShell 為檔案伺服器盤點 ── 容量調查與存取權限(ACL)稽核
用 PowerShell 盤點檔案伺服器的實務步驟。整理容量調查與存取拒絕的記錄、舊檔案清單與重複候選的雜湊擷取、以 Get-Acl 進行權限稽核與偵測繼承中斷、CSV 報表化、與 icacls 的分工,直到 Set-Acl 的安全變更步驟。
-
PowerShell Remoting(WinRM)入門 ── 一次管理多台 Windows
PowerShell Remoting(WinRM)一次管理多台 Windows 的入門介紹。整理其運作機制與連接埠 5985/5986、執行 Enable-PSRemoting 會發生的事、工作群組的 TrustedHosts、Invoke-Command 與 PSSession、second hop 問題,直...
-
Windows PowerShell 5.1 與 PowerShell 7 的差異 ── 公司內部腳本遷移實務指南
本文整理 Windows PowerShell 5.1 與 PowerShell 7 的關係(共存與 pwsh.exe)、5.1 不再新增功能的官方方針、編碼差異造成的亂碼問題、以 #Requires 進行防禦,直到更新工作排程器為止的遷移步驟。
-
用 PowerShell 自動化 Excel・CSV 業務處理 ── 彙總・比對・報表輸出的實務食譜
用 PowerShell 自動化 CSV 彙總・比對與 Excel 報表輸出的實務食譜。解說 Import-Csv/Export-Csv 的字元編碼預設值(5.1 與 7 的差異)、以 Group-Object 進行彙總、用 Compare-Object 與雜湊表進行比對,以及 ImportExcel 與 Exc...
-
PowerShell 的錯誤處理與重新執行設計 ── 從 try/catch 失效的陷阱到 exit code、重試的實務定石
本文從實務角度整理 PowerShell 終止錯誤與非終止錯誤的差異、try/catch 失效的陷阱與 -ErrorAction Stop 的實務定石、以 $LASTEXITCODE 判定成敗、exit code 設計,直到指數退避的重試機制。