前陣子 Office 365 管理介面建議我將「通訊群組」(Distribution List) (DL) 全面升級為「群組」(Group),但我在升級完成後,我現有的 PowerShell 命令就失效了,因為 Cmdlet 命令不一樣了,這篇文章來說說其差異之處。
... 繼續閱讀 ...
當你想要對 IIS 站台調整許多設定,又怕調整到一半突然出問題,這時候會殘留許多調整到一半的設定,如果想要做到 IaC (Infrastructure as code) 自動化,這個問題就必須被解決。還好 IISAdministration 模組中有提供「交易」相關的 Cmdlets 可用,本篇文章就來說說如何使用它。
... 繼續閱讀 ...
無論你使用 Visual Studio Code 或 Visual Studio 2019 開發工具,有三個相當重要的鍵盤快速鍵,經常會被中文版的 Windows 10 作業系統內建的「微軟新注音」輸入法給干擾,導致怎樣都無法用鍵盤按出好用功能。這件事我每次上課都要講一次,實在不勝其擾,所以特別在寫一篇勸世文,請大家務必在裝好電腦的時候就先設定完畢。
... 繼續閱讀 ...
之前參考過 使用多重要素驗證連線至 Exchange Online PowerShell 文件,但是步驟非常雷,除了一定要用【IE】進入 Exchange 系統管理中心 (EAC) 外,這份文件使用傳統的 ClickOnce 安裝方法不知為何沒辦法在我的 Windows Server 2016 成功安裝。本篇文章介紹另一種單純用 PowerShell 連線的方式,也就是使用新版的 Exchange Online PowerShell V2 模組來管理 Exchange Online。
... 繼續閱讀 ...
我在 Windows 命令提示字元有安裝 Clink 工具,可以提供你在命令提示字元 (CMD) 環境下也可以擁有跟 Bash 一樣的操作體驗。但在 Windows PowerShell 底下,就一直沒有類似的工具可以用,但是從 PowerShell 5.1 與 PowerShell Core 6 開始,就可以原生支援擴充 PowerShell 模式下的快速鍵,快來看看怎樣設定吧!
... 繼續閱讀 ...
記得去年(2018)二月的時候,GitHub 在部落格宣布正式移除所有不安全的 TLS 加密連線協定版本,骨董級的 SSLv3
就不用說了,老早就被廢棄。當時主要是廢棄 TLSv1
與 TLSv1.1
版本,且套用到 github.com
與 api.github.com
所有的 HTTPS 加密連線,記得當時還有不少災情傳出。你可能很難想像,使用 PowerShell 的 Invoke-WebRequest 下載使用 HTTPS 加密連線的檔案,預設採用的加密協議竟然是 SSLv3
與 TLSv1
版本!本篇文章將分享如何調整這個預設值。
... 繼續閱讀 ...
PowerShell 有個對開發人員非常不友善的預設值,就是 $ProgressPreference
這個偏好設定變數 (Preference Variables),他的預設值為 Continue
,也就是 Cmdlet 執行時預設會顯示 Cmdlet 的執行進度 (如果有進度列提示的話),這個進度列提示雖然很貼心地顯示在命令提示字元上,但卻會導致 Cmdlet 執行速度徹底被拖慢,慢到非常誇張,浪費了我們寶貴的生命。這篇文章就要告訴大家如何設定與調整,以便在日後可以更有效率的執行 PowerShell 命令!
... 繼續閱讀 ...
由於我每次在 Azure 上建立 Windows Server 2016 Datacenter 測試用 VM (虛擬機器) 的時候,都需要在開機後執行特定 PowerShell 腳本,這邊我特別分享出來,方便日後不斷維護與管理。想參考使用的人,請自行調整使用。如果有其他覺得推薦的設定,也麻煩留言分享。
... 繼續閱讀 ...
最近因為企業內訓的授課需求,需要在 Azure 上建立 20 台客製化環境的虛擬機器(VMs),這個時候正是使用 Azure Lab Services 的最佳時機 (以前的名稱叫做 Azure DevTest Labs 實驗室服務)。由於透過 Azure Lab Services 建立的 VMs 可以設定每天定時自動關機、自動開機,用以節省 Azure 的花費,這是一個非常貼心的設計。不過,客戶這邊的課程並不是每天上課,而是每周上課一次,這個設定就不太好用了。本篇文章我來分享剛寫好的兩份 Azure PowerShell 指令檔,方便日後批次啟動或停止這些實驗室中的虛擬機器。
... 繼續閱讀 ...
前篇文章我們學會了用老牌的 MakeCert 建立自簽憑證 (self-signed certificates),對於大部分數位憑證的需求已經綽綽有餘,確實簡單易用。但是 MakeCert 在使用上有許多限制,例如他沒辦法簡單的「複製」(Clone) 現有已經過期的憑證 (每次都要輸入完整的參數重建)、無法設定 金鑰使用方法 (keyUsage)、無法建立 Subject Alternative Name (SAN) 多域名憑證等等。這篇文章我將介紹如何利用 Windows 內建的 New-SelfSignedCertificate Cmdlet 來建立自簽憑證。
... 繼續閱讀 ...
OneGet 是微軟新一代 Windows 套件管理器 ( 類似 Ubuntu Linux 底下的 apt-get 工具 ),這名字還蠻漂亮的,不過前陣子卻把名稱改為 PackageManagement,但無論如何,我覺得 OneGet 比較好聽,你只要知道這兩個是一樣的東西就好了。 目前這套工具已經內建於 Windows 10 作業系統中,透過 PowerShell 的 Cmdlet 就可以呼叫使用,這個鮮為人知的全新工具試圖解決未來所有軟體安裝的問題,本篇文章將詳細介紹 OneGet 的基本概念與使用方式。
... 繼續閱讀 ...
在我目前這台 Windows 10 電腦中,有兩個 Windows PowerShell 捷徑,分別是 Windows PowerShell 與 Windows PowerShell (x86) 這兩個,從捷徑名稱很容易看得出其差異,Windows PowerShell 這個是在 64 位元環境下使用的 PowerShell,可以載入 64 位元的各式 PSModules 或 PSSnapin 到執行環境中。而 Windows PowerShell (x86) 則是在 32 位元的 x86 架構下使用的 PowerShell,可以載入那些只支援 x86 架構的 PSModules 或 PSSnapin 到執行環境中。不過今天在我的電腦,又再次發生 Windows PowerShell (x86) 視窗開啟後,任何 Cmdlet 都無法執行的窘境,這個問題我在 4 個月前曾經遇過一次,當時花了我一個多小時才找到解法。但今天又花了我將近一個小時找出問題並修復他,真是太浪費時間了,因此我決心寫一篇文章,記錄這個詭異的靈異現象與更詭異的解決方法 (至今尚未能理解這個問題發生的原因)。
... 繼續閱讀 ...
最近在協助客戶將 Amazon S3 上面的檔案遷移到 Windows Azure Storage,若要遷移這些存在 S3 上面的檔案,勢必要先把檔案下載回來,所以我今天打算分享一個不用錢的解決方案,讓你可以快速的同步本機與雲端上的檔案,你可以把本機磁碟中的檔案同步到 Amazon S3,也可以從 Amazon S3 同步檔案到本機磁碟中,已經同步過的檔案還會自動跳過,所以除了第一次同步外,日後每次同步檔案的速度都將非常快。
... 繼續閱讀 ...