All posts tagged 'PowerShell' | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

開發者必學的多語言輸入法設定技巧:使用 Windows PowerShell 快速建立

無論你使用 Visual Studio CodeVisual Studio 2019 開發工具,有三個相當重要的鍵盤快速鍵,經常會被中文版的 Windows 10 作業系統內建的「微軟新注音」輸入法給干擾,導致怎樣都無法用鍵盤按出好用功能。這件事我每次上課都要講一次,實在不勝其擾,所以特別在寫一篇勸世文,請大家務必在裝好電腦的時候就先設定完畢。

... 繼續閱讀 ...

已啟用 MFA 的 Office 365 組織帳戶如何連線至 Exchange Online PowerShell

之前參考過 使用多重要素驗證連線至 Exchange Online PowerShell 文件,但是步驟非常雷,除了一定要用【IE】進入 Exchange 系統管理中心 (EAC) 外,這份文件使用傳統的 ClickOnce 安裝方法不知為何沒辦法在我的 Windows Server 2016 成功安裝。本篇文章介紹另一種單純用 PowerShell 連線的方式,也就是使用新版的 Exchange Online PowerShell V2 模組來管理 Exchange Online。

... 繼續閱讀 ...

如何在 PowerShell 中加入鍵盤快速鍵並模擬 Linux shell 下的操作體驗

我在 Windows 命令提示字元有安裝 Clink 工具,可以提供你在命令提示字元 (CMD) 環境下也可以擁有跟 Bash 一樣的操作體驗。但在 Windows PowerShell 底下,就一直沒有類似的工具可以用,但是從 PowerShell 5.1 與 PowerShell Core 6 開始,就可以原生支援擴充 PowerShell 模式下的快速鍵,快來看看怎樣設定吧!

... 繼續閱讀 ...

如何調整 PowerShell 的 Invoke-WebRequest 改用 TLS 1.2 協定下載檔案

記得去年(2018)二月的時候,GitHub 在部落格宣布正式移除所有不安全的 TLS 加密連線協定版本,骨董級的 SSLv3 就不用說了,老早就被廢棄。當時主要是廢棄 TLSv1TLSv1.1 版本,且套用到 github.comapi.github.com 所有的 HTTPS 加密連線,記得當時還有不少災情傳出。你可能很難想像,使用 PowerShell 的 Invoke-WebRequest 下載使用 HTTPS 加密連線的檔案,預設採用的加密協議竟然是 SSLv3TLSv1 版本!本篇文章將分享如何調整這個預設值。

... 繼續閱讀 ...

如何修正 PowerShell 執行龜速的元兇 (關閉進度列提示)

PowerShell 有個對開發人員非常不友善的預設值,就是 $ProgressPreference 這個偏好設定變數 (Preference Variables),他的預設值為 Continue,也就是 Cmdlet 執行時預設會顯示 Cmdlet 的執行進度 (如果有進度列提示的話),這個進度列提示雖然很貼心地顯示在命令提示字元上,但卻會導致 Cmdlet 執行速度徹底被拖慢,慢到非常誇張,浪費了我們寶貴的生命。這篇文章就要告訴大家如何設定與調整,以便在日後可以更有效率的執行 PowerShell 命令!

... 繼續閱讀 ...

分享一組我在 Azure 建立 VM (虛擬機器) 都會執行的初始設定腳本

由於我每次在 Azure 上建立 Windows Server 2016 Datacenter 測試用 VM (虛擬機器) 的時候,都需要在開機後執行特定 PowerShell 腳本,這邊我特別分享出來,方便日後不斷維護與管理。想參考使用的人,請自行調整使用。如果有其他覺得推薦的設定,也麻煩留言分享。

... 繼續閱讀 ...

如何在 Azure Lab Services 中批次啟動與停止實驗室中所有虛擬機器 (VMs)

最近因為企業內訓的授課需求,需要在 Azure 上建立 20 台客製化環境的虛擬機器(VMs),這個時候正是使用 Azure Lab Services 的最佳時機 (以前的名稱叫做 Azure DevTest Labs 實驗室服務)。由於透過 Azure Lab Services 建立的 VMs 可以設定每天定時自動關機、自動開機,用以節省 Azure 的花費,這是一個非常貼心的設計。不過,客戶這邊的課程並不是每天上課,而是每周上課一次,這個設定就不太好用了。本篇文章我來分享剛寫好的兩份 Azure PowerShell 指令檔,方便日後批次啟動或停止這些實驗室中的虛擬機器。

... 繼續閱讀 ...

如何使用 PowerShell 建立開發測試用途的自簽憑證 (Self-Signed Certificate)

前篇文章我們學會了用老牌的 MakeCert 建立自簽憑證 (self-signed certificates),對於大部分數位憑證的需求已經綽綽有餘,確實簡單易用。但是 MakeCert 在使用上有許多限制,例如他沒辦法簡單的「複製」(Clone) 現有已經過期的憑證 (每次都要輸入完整的參數重建)、無法設定 金鑰使用方法 (keyUsage)、無法建立 Subject Alternative Name (SAN) 多域名憑證等等。這篇文章我將介紹如何利用 Windows 內建的 New-SelfSignedCertificate Cmdlet 來建立自簽憑證。

... 繼續閱讀 ...

介紹好用工具:Win 10 內建的 PackageManagement 套件管理器 (OneGet)

OneGet 是微軟新一代 Windows 套件管理器 ( 類似 Ubuntu Linux 底下的 apt-get 工具 ),這名字還蠻漂亮的,不過前陣子卻把名稱改為 PackageManagement,但無論如何,我覺得 OneGet 比較好聽,你只要知道這兩個是一樣的東西就好了。 目前這套工具已經內建於 Windows 10 作業系統中,透過 PowerShell 的 Cmdlet 就可以呼叫使用,這個鮮為人知的全新工具試圖解決未來所有軟體安裝的問題,本篇文章將詳細介紹 OneGet 的基本概念與使用方式。

... 繼續閱讀 ...

如何修復 PowerShell 無法執行任何 Cmdlet 的問題

在我目前這台 Windows 10 電腦中,有兩個 Windows PowerShell 捷徑,分別是 Windows PowerShellWindows PowerShell (x86) 這兩個,從捷徑名稱很容易看得出其差異,Windows PowerShell 這個是在 64 位元環境下使用的 PowerShell,可以載入 64 位元的各式 PSModules 或 PSSnapin 到執行環境中。而 Windows PowerShell (x86) 則是在 32 位元的 x86 架構下使用的 PowerShell,可以載入那些只支援 x86 架構的 PSModules 或 PSSnapin 到執行環境中。不過今天在我的電腦,又再次發生 Windows PowerShell (x86) 視窗開啟後,任何 Cmdlet 都無法執行的窘境,這個問題我在 4 個月前曾經遇過一次,當時花了我一個多小時才找到解法。但今天又花了我將近一個小時找出問題並修復他,真是太浪費時間了,因此我決心寫一篇文章,記錄這個詭異的靈異現象與更詭異的解決方法 (至今尚未能理解這個問題發生的原因)。

... 繼續閱讀 ...

如何利用 Powershell 同步本機磁碟與 Amazon S3 的檔案

最近在協助客戶將 Amazon S3 上面的檔案遷移到 Windows Azure Storage,若要遷移這些存在 S3 上面的檔案,勢必要先把檔案下載回來,所以我今天打算分享一個不用錢的解決方案,讓你可以快速的同步本機與雲端上的檔案,你可以把本機磁碟中的檔案同步到 Amazon S3,也可以從 Amazon S3 同步檔案到本機磁碟中,已經同步過的檔案還會自動跳過,所以除了第一次同步外,日後每次同步檔案的速度都將非常快。

... 繼續閱讀 ...

使用 Windows PowerShell 如何自動登入 Office365 進行管理

先前講過幾篇關於使用 Windows PowerShell 管理微軟線上服務與 Exchange Online 的方法,不熟悉的人可能要先看過【Office 365 管理系列:使用 PowerShell 管理微軟線上服務】以及【Office 365 管理系列:用 PowerShell 管理 Exchange Online】文章。由於我們希望能自動化一些管理工作,不過每次執行 Connect-MsolService 命令時,總是會要求手動輸入帳密登入,這樣我們怎樣才能將常見的管理工作完全自動化呢?因此,我今天要分享一個 Windows PowerShell 的小技巧,讓你可以在登入微軟線上服務或 Office 365 的時候,完全不需要輸入帳號、密碼,就能夠自動登入,並執行你想執行的管理命令。

>> 要試用 Office 365 的朋友,可點擊 Office 365 Enterprise E3 試用版 - 30 天期 進行申請喔 <<

... 繼續閱讀 ...