Powershell Profiles配置文件的存放位置介紹
適用于:Windows PowerShell 2.0, Windows PowerShell 3.0
當(dāng)我們打開(kāi)一個(gè)PowerShell對(duì)話框,并在里面創(chuàng)建一些變量(variables)、函數(shù)(functions)時(shí),這些變量、函數(shù)均只在當(dāng)前會(huì)話中有效。一旦我們關(guān)閉這個(gè)對(duì)話框重新打開(kāi)PowerShell時(shí),這些變量都不存在了。如果我們想保留這些設(shè)置,我們就需要用到profile,翻譯過(guò)來(lái)就是配置文件。在PowerShell啟動(dòng)的時(shí)候,會(huì)自動(dòng)導(dǎo)入配置文件里面的設(shè)置。這有點(diǎn)像autorun.bat,如果有dos系統(tǒng)還有印象的朋友,應(yīng)該知道這個(gè)。
配置文件存放于如下幾個(gè)地方,不同的配置文件,作用域不同。
1、%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
它作用于所有用戶、所有的Shell。
2、%windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1
作用于所有用戶,但只作用于Microsoft.PowerShell這個(gè)shell。這個(gè)我也沒(méi)懂是什么意思,難道還有不是PowerShell的PowerShell shell?呃,有點(diǎn)像繞口令。
3、%UserProfile%\My Documents\WindowsPowerShell\profile.ps1
作用于當(dāng)前用戶的所有shell。
4、%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
作用于當(dāng)前用戶的Microsoft.PowerShell這個(gè)shell。
以上的Windows的PowerShell profiles不是自動(dòng)創(chuàng)建的。言下之意是,如果要用,我們就自己去創(chuàng)建。我們只要按照上面給出的文件路徑和文件名,編寫(xiě)我們自己的內(nèi)容進(jìn)去即可。
有一個(gè)變量:$profile,它保存了當(dāng)前Profile的路徑。使用Test-Path $profile可以查看當(dāng)前有沒(méi)有這個(gè)文件。如果沒(méi)有,可以使用new-item -path $profile -itemtype file -force命令來(lái)創(chuàng)建它。然后再使用notepad $profile來(lái)快捷的打開(kāi)它來(lái)編輯。我們?cè)诶锩孑斎雈unction pro { notepad $profile },呵呵明眼人都懂了,以后我們想要修改profile的時(shí)候,直接運(yùn)行pro命令就可以了。
最后,想要PowerShell啟動(dòng)時(shí)能成功的載入配置文件,還需要在PowerShell的Execution Policy(執(zhí)行策略)中設(shè)置允許它這樣做。否則,嘗試載入配置文件將會(huì)失敗,PowerShell界面上也會(huì)顯示錯(cuò)誤信息。無(wú)法加載配置文件的錯(cuò)誤提示如下:
C:\Users\Hong>powershell
Windows PowerShell
版權(quán)所有(C) 2012 Microsoft Corporation。保留所有權(quán)利。
. : 無(wú)法加載文件 C:\Users\Hong\Documents\WindowsPowerShell\Microsoft.PowerShell
_profile.ps1,因?yàn)樵诖讼到y(tǒng)上禁止運(yùn)行腳本。有關(guān)詳細(xì)信息,請(qǐng)參閱 http://go.micros
oft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\Hong\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
其實(shí)解決這個(gè)問(wèn)題跟解決執(zhí)行ps1文件的方法一樣,因?yàn)檫@個(gè)Profile其實(shí)也是一個(gè)ps1格式的文件。所以使用Set-ExecutionPolicy RemoteSigned即可。
參考文章:http://msdn.microsoft.com/en-us/library/bb613488%28VS.85%29.aspx
相關(guān)文章
PowerShell管理Win Server 2008 R2
在Windows Serve 2008 R2中,一個(gè)重要改進(jìn)就是PowerShell版本升級(jí)為2.0。Win 2008 R2包括一系列新的服務(wù)器管理界面,這些均建立在PowerShell 2.0之上。它新增了240個(gè)cmdlets命令集,新的PowerShell圖形用戶界面也增添了開(kāi)發(fā)功能,從而用戶能更簡(jiǎn)單創(chuàng)建自己的命令行。2015-09-09Windows Powershell 創(chuàng)建數(shù)組
在日常處理中,除了使用像“數(shù)值類(lèi)型”和“字符串類(lèi)型”外,還需要使用能夠包含其他對(duì)象的“集合”類(lèi)型。大多數(shù)常見(jiàn)語(yǔ)言,都提供一些操作集合類(lèi)型的語(yǔ)法。最基本的集合類(lèi)型就是數(shù)組類(lèi)型,它提供了一種下標(biāo)基于0的數(shù)組對(duì)象。2014-09-09PowerShell入門(mén)教程之Cmd命令與PowerShell命令相互調(diào)用的方法
這篇文章主要介紹了PowerShell入門(mén)教程之Cmd命令與PowerShell命令相互調(diào)用的方法,本文講解了在Cmd命令中調(diào)用PowerShell命令、在PowerShell命令中調(diào)用Cmd命令的方法,需要的朋友可以參考下2014-10-10PowerShell腳本監(jiān)控文件夾變化實(shí)例
這篇文章主要介紹了PowerShell腳本監(jiān)控文件夾變化實(shí)例,可以監(jiān)控到文件夾內(nèi)新建文件、刪除文件、重命名文件等操作,需要的朋友可以參考下2014-08-08Powershell腳本中使用條件斷點(diǎn)實(shí)例
這篇文章主要介紹了Powershell腳本中使用條件斷點(diǎn)實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03PowerShell中刪除空格、點(diǎn)號(hào)、減號(hào)和換行方法代碼實(shí)例
這篇文章主要介紹了PowerShell中刪除空格、點(diǎn)號(hào)、減號(hào)和換行方法代碼實(shí)例,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-05-05PowerShell DSC組件 xExchange 發(fā)布
這篇文章主要介紹了PowerShell DSC組件 xExchange 發(fā)布,xExchange實(shí)現(xiàn)可以在PowerShell中使用DSC來(lái)部署和配置Exchange,需要的朋友可以參考下2015-04-04使用PowerShell獲取Trustedinstaller權(quán)限的問(wèn)題
這篇文章主要介紹了使用PowerShell獲取Trustedinstaller權(quán)限,獲取到?Trustedinstaller?權(quán)限,就可以通過(guò)一些命令來(lái)修改系統(tǒng)文件了,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-01-01