「PowerShell」標籤的文章
帶有「PowerShell」標籤的文章共 40 篇,依發布日期由新到舊排列。
-
在 C#・PowerShell 中使用 WMI/CIM ── 硬體資訊取得・處理程序監控・遠端查詢的實務指南
取得 PC 序號、監控磁碟可用空間、偵測處理程序啟動,這些定番需求的標準答案就是 WMI/CIM。本文解說 Get-CimInstance 等 CIM Cmdlet 的用法、從舊版 Get-WmiObject 的遷移方式、C# 的 System.Management 與 CIM API 該如何區分使用,並附上實例...
-
群組原則(GPO)實務入門 ── 運作機制、生效確認與 Intune 的分工
你是否在不清楚「用 GPO 分發」是什麼意思的情況下,就在操作 AD 環境?本文從實務角度說明群組原則的運作機制與 LSDOU 套用順序、以 gpupdate、gpresult 確認生效狀況、與 Intune 的分工,以及客戶端 GPO 改變應用程式行為的陷阱。
-
Windows 安全性稽核原則與事件記錄調查實務 ── 成為看得懂 4625 的資訊系統人員
這是一份實務指南,用來回應「請幫忙查一下登入失敗的記錄」這類需求。內容涵蓋基本與詳細稽核原則的關係、最低限度應啟用的子類別、事件 ID 4624/4625/4688 的判讀方式、Security 記錄檔的容量設計,以及使用 Get-WinEvent 擷取的方法。
-
Windows LAPS 實務指南 ── 停止在所有電腦共用同一組本機系統管理員密碼
所有電腦共用同一組本機系統管理員密碼,是讓一台遭入侵就波及全部電腦的 Pass-the-Hash 攻擊溫床。本文說明已成為作業系統標準功能的 Windows LAPS 如何自動輪替密碼、AD/Entra ID 的儲存設定,以及實務運用上的陷阱。
-
Windows 憑證存放區實務指南 ── 該放進使用者,還是電腦?
用戶端憑證應該放進使用者存放區還是電腦存放區?從 certmgr.msc 與 certlm.msc 的差異、私密金鑰的權限授予,到用 PowerShell 進行到期日盤點,本文有系統地整理憑證常見事故的解法。
-
Windows 防火牆與業務應用程式 ── 受信規則要在安裝程式中登錄
「開發機上正常運作,但在客戶端卻無法通訊」的典型原因就是 Windows 防火牆。本文說明受信預設封鎖與設定檔的機制、為何不能把正式環境交給通知對話方塊處理,以及在安裝程式中登錄受信規則與問題排查的步驟。
-
SMB 簽章與 LDAP 通道繫結 ── 在實務中補齊 NTLM 對策的「剩餘一半」
在停止使用 NTLM 之前,能抑制中繼攻擊損害的防禦手段就是 SMB 簽章與 LDAP 簽章・通道繫結。本文從實務角度整理各作業系統的預設值、稽核事件的判讀方式、邁向強制執行的步驟,以及業務應用程式與機器的修正方法。
-
NTLM廢除會讓業務應用程式停擺嗎 ── 稽核記錄的擷取方式,以及消除相依性的順序
本文彙整了在 NTLM 廢除之前,盤點自家 Windows 環境與業務應用程式在何處相依 NTLM 的具體步驟。內容涵蓋稽核原則、NTLM/Operational 記錄檔中事件 8001~8004 的追蹤方式、落回 NTLM 的典型模式與修正方法,以及 SMB 的 NTLM 封鎖。
-
用 winget + PowerShell 自動化 PC 配置 ── 讓操作手冊變得可執行
本文整理讓新進員工 PC 的環境建置可重現的方法,涵蓋以 winget 進行應用程式導入與 export/import、WinGet Configuration 的宣告式組態、以 PowerShell 補充的設定,以及無人執行時的注意事項。
-
PowerShell 的安全性強化 ── 日誌・AMSI・語言模式・JEA
本文整理在不禁止 PowerShell 的前提下安全使用它的實務做法。內容涵蓋啟用指令碼區塊記錄與逐字稿記錄、停用 AMSI 與舊版本、以語言模式進行限制,以及透過 JEA 委派權限。
-
使用 Get-WinEvent 有效率地調查事件記錄 ── 篩選的速度決定調查所需的時間
本文整理如何用 PowerShell 有效率地進行 Windows 事件記錄的調查。說明以 Where-Object 篩選為什麼慢、FilterHashtable 與 XPath 的使用區分、重新開機、登入、應用程式異常結束等調查手法,以及跨多台伺服器收集記錄的方法。
-
PowerShell 模組的公司內部分發與更新 ── PSResourceGet 與內部儲存庫
整理如何告別複製共用資料夾中的 ps1 檔案並重複使用的運作方式。內容涵蓋模組資訊清單(manifest)的撰寫方式、版本管理、用 PSResourceGet 建立內部儲存庫並進行分發與更新,以及與簽章搭配運用的做法。
-
用 PSScriptAnalyzer 守護 PowerShell 腳本的品質 ── 規則挑選與 CI 導入
本文是將 PowerShell 靜態分析工具 PSScriptAnalyzer 導入公司內部腳本的實務指南。內容涵蓋應優先啟用的規則、設定檔的寫法、對既有資產的階段性導入,以及在 GitHub Actions 中建置 CI 的方法。
-
PowerShell與REST API串接 ── Invoke-RestMethod的實務
本文整理從PowerShell呼叫公司內部API或SaaS REST API的實務作法。內容涵蓋認證標頭的傳遞方式、日文JSON亂碼的因應對策、4xx/5xx的錯誤處理、429的重試、分頁,以及Proxy與TLS的陷阱。
-
PowerShell 腳本太慢時該檢查的地方 ── 陣列・管線・比對的訣竅
整理 PowerShell 腳本變慢的常見原因。從實務角度解說陣列 += 造成 O(n^2) 的原因、管線與 foreach 的差異、比對的雜湊表化、檔案 I/O 的改善,以及正確的測量方式。
-
告別 Write-Host ── PowerShell 的輸出資料流與日誌設計
本文整理 PowerShell 六個輸出資料流的使用區分、Write-Host 所存在的問題與正確用途、函式傳回值被污染的原因、透過 -Verbose 與 -InformationVariable 由呼叫端進行控制的方法,以及結構化日誌的留存方式。
-
Microsoft Graph PowerShell 入門 ── AzureAD・MSOnline 廢止後的 Microsoft 365 維運
本文為 AzureAD・MSOnline 模組廢止後,將 Microsoft 365 維運遷移至 Microsoft Graph PowerShell 的實務指南。內容說明連線與範圍(Scope)設計、以憑證進行的無人執行,以及使用者盤點、授權彙總等經典腳本。
-
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 的差異,皆以實務角度解說。
-
Power Automate 與 PowerShell + 工作排程器的分工 ── 不混用自動化工具,各就各位地串接
本文整理 PowerShell + 工作排程器的夜間批次作業與 Power Automate 流程開始混雜在公司內部的中小企業資訊部門所需的判斷依據:兩者擅長領域的差異、該用哪一種來建置的判斷表、透過 SharePoint 進行鬆散耦合串接的協作模式,以及授權與維運上的注意事項。
-
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 設計,直到指數退避的重試機制。
-
PowerShell 的執行原則與指令碼簽署 ── 從「用 Bypass 蓋住問題」的做法畢業的實務指南
PowerShell 的執行原則是「並非安全邊界,而是安全裝置」。本文整理 RemoteSigned 等原則的差異、範圍的優先順序、Mark of the Web 與 Unblock-File、指令碼簽署,以及公司內部發布的現實運用方式。
-
工作排程器的工作不執行、以 0x1 結束 ── 原因排查與安全的維運設計
本文整理 Windows 工作排程器的執行帳戶與登入類型、「不論使用者是否登入均執行」的含義、以 0x1 結束的典型原因、啟用歷程記錄、防止多重啟動、PowerShell 腳本的正確呼叫方式,直到把定期執行真正落實到維運上的設計方針。
-
用 Power Automate 自動化業務 ── 雲端流程與桌面流程的分工,以及錯誤處理設計
本文整理 Power Automate 雲端流程與桌面流程的差異、與 PowerShell / VBA 的分工、授權、錯誤處理、UI 自動化的穩定化,以及認證資訊的安全處理,提供將業務自動化導入正式運作的實務設計指引。
-
在 C#(CSharp)中執行 PowerShell 並以物件形式接收結果
本文從實務角度整理如何從 C# 啟動 PowerShell,並以 PSObject 而非字串來接收結果,涵蓋 PowerShell SDK、AddCommand、AddParameter、BaseObject、Properties 到錯誤處理。
-
用 Pester 整備 PowerShell 測試 ── 讓維運腳本不易損壞的實務做法
本文整理用 Pester v5 測試 PowerShell 腳本的實務步驟,涵蓋日期處理、檔案操作、刪除處理、Mock,一路到 CI 執行,協助安全地建立測試基礎。
-
PowerShell 實用指令集錦 ── 累積日常工作常用的小工具
本文整理 PowerShell 日常工作中常用的實用指令,說明 Measure-Object、Group-Object、Select-String、Compare-Object、Tee-Object、Start-Transcript 等指令的使用場景與時機。
-
PowerShell 腳本應用 ── 安全地自動化日誌調查、封存與報表化
本文整理用 PowerShell 腳本安全地推進日誌調查、CSV 報表、舊日誌封存、留存紀錄,一直到工作排程器定期執行的實務步驟。
-
PowerShell 指令基礎 ── 該先學會的操作與安全使用方式
為了讓 PowerShell 初學者在實務上不會迷路,本文整理了如何尋找 Cmdlet、管線、檔案操作、CSV 處理、執行原則,以及避免事故的確認步驟。
-
為 VBScript 停用做準備:VBA・企業內部工具盤點指南
本文整理 VBScript 分階段停用前,VBA、Excel 巨集與企業內部工具的資產盤點、靜態偵測、執行紀錄蒐集、替代技術選型、測試與分階段導入的做法。
-
整理 Windows 的字元編碼與換行符 - Shift_JIS / UTF-8 / UTF-16、亂碼、CRLF / LF,為何混亂
本文整理 Windows 上字元編碼與換行符容易混亂的核心:bytes、UTF-8 與 CP932、UTF-16LE、BOM、CRLF 與 LF 是不同軸的概念,亂碼源於以錯誤前提 decode,且誤儲存後無法還原。讀完即可在規格中寫出明確的 encoding 與換行約定,降低事故。
-
釐清 Windows 的文字編碼 - 亂碼為什麼會發生,尤其是與 Linux 搭配時什麼地方會偏掉
本文從「亂碼為什麼會發生」的角度,重新整理 Windows 在 CP932、UTF-8、UTF-16、BOM、console code page 與 PowerShell 版本之間的編碼前提差異,並聚焦與 Linux 搭配時最常翻車的場景。透過 4 個調查問題與運維 checklist,幫你把文字編碼當成 I/O...