共用方式為


Windows PowerShell:我的 Windows PowerShell 設定檔

設定檔腳本是功能強大的方式自訂 Windows PowerShell 並已準備好要它工作的方式工作。

Don Jones

每當我設置為解釋 Windows PowerShell 設定檔腳本,討論,不可避免地導致到有人在詢問什麼我的設定檔腳本中。 通常情況下,我認為他們只試圖去瞭解他們應如何使用他們的設定檔。

設定檔是整潔,但他們看起來是有點神奇起初因為他們發生作為引擎蓋下 Windows PowerShell 啟動。 在現實中,他們比你想像的那麼神奇。

首先,您需要瞭解 Windows PowerShell 是只是一個大的 DLL 坐在您的電腦上。 這就是所謂的 Windows PowerShell 引擎。 它不會執行任何設定檔操作。 大多數情況下,您不能甚至直接交互,引擎除非你是.NET 開發人員。

僅僅是人類處理 Windows PowerShell 通過承載的應用程式,往往只是稱為主機。 PowerShell.exe,我們大多數人使用,標準藍屏主控台是一個這種主機。 Windows PowerShell 綜合腳本編寫環境 (ISE) 是另一個。 協力廠商 Windows PowerShell 編輯 PrimalScript、 PowerShell 加號、 PowerSE、 PowerGUI 等也是主機。 主機是負責裝載 — — 或不載入,而定 — — 設定檔腳本。 主機實際確定的腳本它負荷。

在 PowerShell.exe 主機和 Windows PowerShell ISE,他們就會載入最多四個腳本。 其中兩個是在使用者設定檔,在名為 \Documents\WindowsPowerShell 的資料夾中。 這些都是每個使用者設定檔。 其中,其中之一被應該要載入的所有 Windows PowerShell 主機:前面。

另一個是特定于承載的應用程式,如 Microsoft.PowerShell_profile.ps1。 這是由 PowerShell.exe 主機載入。 其他兩個腳本是全機的腳本,一種是使用特定于主機和其他正在所有主機。

您可以運行説明 about_profiles 在外殼程式中閱讀這些檔。 對於腳本編輯器等協力廠商主機,您需要參考它們的文檔。 若要提供符合微軟殼的行為,其中一些將載入與 PowerShell.exe 相同的設定檔腳本。 其他人會有他們看的而其他人可讓您指定您希望在啟動時載入的腳本自己每台主機腳本。

長期和短期的它是您的主機將尋找這些腳本在啟動時。 如果它們存在,它將執行它們。 預設情況下不存在任何由 Microsoft 主機使用的腳本。 事實上,Documents\WindowsPowerShell 資料夾或者並不創建預設情況下。 您必須創建它們,如果您想要使用它們。 此外可以通過設置為受限 (這是預設設置) 以外的執行策略啟用腳本執行。

我的設定檔

那麼什麼是我的設定檔中? 一般沒什麼,我有些慚愧地說。 這是因為我傾向于做了很多具體的事情,與 Windows PowerShell — — 電影培訓視頻、 班級授課、 寫文章,等等。 這些需要一個完全預設的新鮮出的框殼的經驗。 不想任何預載入,因為在大多數情況下,我希望人們看到我經歷的載入我所需要的任何行為。

要是在一個正常的生產環境中,不過,什麼會填那裡? 我將從開始我每天使用的任何模組。 例如,可能添加導入模組 ActiveDirectory。 我預料會捉弄 Active Directory 了很多,並擁有預載入的模組將説明。

我不會把任何自訂的函數放到我的設定檔。 相反,我會放到自己的腳本模組中,那些然後將我的設定檔導入的。 使設定檔更清潔,和它很容易刪除該模組 (和它所包含的功能) 如果我發現他們之間的矛盾與別的東西我需要做。

我不會亂 Windows PowerShell 視窗標題列、 Windows PowerShell 提示符或任何類似的。 這樣做的但是,我是那種喜歡這些東西看起來像預設值的人。 我只是將獨自離開他們。 雖然,我知道很多人喜歡以調整其提示符下,和該設定檔是要做這件事的地方。

我會做一次更改:

$host.privatedata.ErrorForegroundColor = 'green'

這將打開從紅到綠的錯誤訊息。 我告訴人們這是因為預設紅上黑顏色是太低對比度為方便閱讀。 真正的原因是滿紅色文本螢幕帶著我回到高中英語課,讓我很緊張。 綠色錯誤訊息讓我感覺我做一些正確的所以我不強調這麼多。 我知道,這很奇怪 — — 責怪我的老師 Ms。 喬瓦尼和 Ms。 漢森。

因為我怕我會使用它們,我不要定義任何自訂的別名。 然後我可能將它們沿傳遞給其他人沒有為他們的定義,所以無論例子我傳遞沿線就不工作。

我不放棄使用寫入主機、 花式彩色初始螢幕並不顯示可用的函數或模組的清單。 我知道如何輕鬆地列出這些事情,足夠如果我需要的而我不喜歡雜亂的螢幕,當我第一次開始 (我運行 cls 所有的時間,所以我可以感覺我得到一個全新的開始) 的外殼。 所以,我開始在 c: 磁碟機的根目錄會 cd c:\磁碟機,而不是我的使用者設定檔資料夾中。

那麼,是什麼是我的設定檔中。 你是什麼?

Don Jones

Don Jones Microsoft MVP 獲獎者和"學習 Windows PowerShell 中月的午餐"(曼甯出版物,2011年),旨在説明成為有效的 Windows PowerShell 任何管理員一書的作者。 鐘斯還提供公共和現場 Windows PowerShell 培訓。 與他通過聯繫 ConcentratedTech.combit.ly/AskDon

相關的內容