適用于: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ò)誤提示如下:
復(fù)制代碼 代碼如下:
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
您可能感興趣的文章:- SpringBoot激活profiles的幾種方式
- Spring Boot配置特定屬性spring.profiles的方法
- 詳解Spring Boot Profiles 配置和使用
- Java使用路徑通配符加載Resource與profiles配置使用詳解
- 淺談xml配置spring profiles的幾個(gè)注意點(diǎn)
- 使用spring.profiles.active來(lái)分區(qū)配置的方法示例
- Xcode 下刪除Provisioning Profiles文件詳細(xì)介紹
- spring boot實(shí)現(xiàn)profiles動(dòng)態(tài)切換的示例