Category: powershell

分享最近學到的 PowerShell 小技巧。 假設我有個接受多個參數的函式,有三種參數寫法。第一種是寫成 FuncName Arg1 Arg2 Arg3... 依序列出,中間以空白間隔(注意:不要加 ( ) 及 ,,參考:函式多參數寫法陷阱);第二種則是參數值前方加上名稱,如此可不依順序,如:Fu...

使用 Windows 整合驗驗的網站有時會接到使用者反映他們無法用 AD 帳號登入,常見原因有記錯密碼、帳號被鎖、密碼到期... 等等,另外也曾遇過一些罕見案例是與 Domain Controller 間網路不通、電腦時鐘不對。 處理 AD 帳號無法登入 SOP 的第一步應先排除常見的帳號被鎖、密碼...

前篇文章提到手動賦與 Power Users 群組 Debug Program 使用者權限(User Right)以識別 IIS 程序 AppPool 的做法,但內行人都知道,得轉成批次作業才符合實務需求,否則若一次部署幾百台機器,豈不要設到眼花手軟。 要設計 Windows 管理批次作業,Powe...

有點混亂的 2020 年,台灣還有可能創下 56 年來全年無颱登陸的記錄(只剩下不到兩個半月,估計颱風侵台機率不高),慶幸無災之餘卻得擔心各地水庫蓄水量吃緊。 上週好奇想知道水庫水位狀況,意外找到水利署有個防災資訊服務網提供各水庫蓄水量的視覺化展示網頁,做得頗為精美(我還偷偷研究它的下雨跟水面波紋動...

區域變數、全域變數是各種程式語言都有的基本概念,PowerShell 也不例外。寫程式因觀念不清被迷惑,研究後發現它跟 C#、JavaScript 有些不同,特別寫篇筆記備忘。 參考資料: About Scopes - PowerShell Mircosoft Docs Scopes - Powe...

這是前陣子寫 PowerShell 我常踩到的小雷,大多發生在手動下指令的測試階段。 例如,在 PowerShell 裡我用 Set-Location (或使用 cd 指令別名) 將所在目錄切換成 X 資料夾,後續用 Out-File 寫入 ".\Test.json",Get-C...

前篇文章提到 VSSetup PowerShell Module,在一般連網環境用 Install-Module 可自動下載安裝: 但如果主機處在連不到網際網路的網段,Install-Module 指令會冒出如下錯誤: 這篇就來介紹如何在離線環境安裝 PowerShell。參考:Manual P...

Cookie 安全性近年來常成為網站弱點掃瞄或滲透測試的重點,其中常被糾舉彈劾的點是: Cookie 應限定加密通訊(SSL/TLS)時傳遞,降低被竊聽外流的風險。 Cookie 應限定伺服器讀取,禁止 JavaScript 透過 document.cookie 存取以防盜用。 HTTP 協定已...

一般要執行 MSBuild 指令,標準做法是由開始選單找到 Developer Command Prompt for VS 2019 或 Developer PowerShell for VS 2019: 而這兩個環境跟一般命令視窗的差別在於它會先執行 "X:\Program File...

PowerShell 執行環境以單執行緒為主,優點是程式邏輯直覺、簡單,但遇上呼叫遠端服務的大量批次操作,性急如王藍田的我,自然無法忍受一堆作業乾等單一窗口消化,這種情境就是要開多執行緒萬箭齊發才爽多線並行才合理! 寫 C# 多執行緒程式我已駕輕就熟,有 Parallel.For、ThreadPoo...

最近依舊是寫 PowerShell 多過 C# (雖然在 PowerShell 裡卯起來用 .NET 元件),開始進入見山不是山的階段,程式寫得更多之後,踩到一些奇怪特性,會覺得自己並不懂 PowerShell,哈! 下面這個範例是一個讓我吶喊「花惹發」的行為。我在函式裡建立 System.Data...

大家都知道,我寫 .NET 程式早已「無 LINQ 不歡」,上癮程度直逼「無 LINQ 吾寧死」 (LINQ or Die)(延伸閱讀:好 LINQ,不用嗎?)。這幾個月切到 PoewrShell 跑道,仗著它能無縫整合 .NET,遇到複雜一點的演算便想掏出 LINQ 解決問題。 但 LINQ 基於...

寫了一陣子 PowerShell,發覺自己跟它的陣列很不熟,老想著用 .NET LINQ 思維解題,有點吃力不討好。其實,PowerShell 陣列語法比 C# 靈活(例如: 索引可以是負數、用 .. 表示區間,+ 表示相對位置,註:C# 8.0 有加入一些)、ForEach()、Where() 也...

寫 PowerShell Script 時,針對較複雜或步驟較多的作業,我會在執行過程加上 Write-Host 或 Write-Output 顯示一些資訊,一方面是回報進度可避免操作者茫然焦慮,另一方面,若發生錯誤,這些線索是判斷問題點的重要依據。 PowerShell 新手的疑問是: Write...