在PowerShell中直接使用Set-Alias或New-Alias命令創(chuàng)建的別名在關(guān)閉此Session后即會失效忽肛,防止此現(xiàn)象的方法是將此命令寫入Windows PowerShell profile文件。 查看此文件在計算機中的位置:
PS C:\Users\my> $profile
C:\Users\my\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
一般該文件在沒有創(chuàng)建前是不存在的铺呵,使用以下命令為當前用戶創(chuàng)建profile命令并返回文件地址:
New-Item -Type file -Force $profile
打開文件寫入別名函數(shù)代碼:
function CDLardock($path) {
switch ($path) {
'C' {
$laradockPath = 'C:\Users\my\Documents\WindowsPowerShell'
break
}
'J' {
$laradockPath = 'D:\www\work'
break
}
$null {
$laradockPath = 'D:\www\laradock'
break
}
default {
if (-not (Test-Path -Path $path -PathType Container)) {
throw "Invalid path: $path"
}
$laradockPath = $path
}
}
Set-Location -Path $laradockPath
}
Set-Alias -Name Go -Value CDLardock
#function CDLardock {Set-Location -Path D:\www\laradock}
#Set-Alias -Name Go -Value CDLardock
# docIp container_name_or_id
function dockerIp($containerId) { docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $containerId}
Set-Alias -Name docIp -Value dockerIp
function dockerAllIP { docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)}
Set-Alias -Name docAllIp -Value dockerAllIP
# function dockerUp {Go ; docker-compose up -d nginx mysql redis rabbitmq }
# Set-Alias -Name docUp -Value dockerUp
# doc up / doc down / doc start / doc stop
function dockerOperation($operation) {
Go ;
if($operation -eq 'up'){
docker-compose up -d nginx mysql redis rabbitmq php-worker
}else{
docker-compose $operation
}
}
Set-Alias -Name doc -Value dockerOperation
function dockerExec($name){ Go ; docker-compose exec $name bash}
Set-Alias -Name exec -Value dockerExec
啟動 PowerShell 提示 無法加載文件C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1吓笙,因為在此系統(tǒng)上禁止運行腳本
Windows PowerShell
版權(quán)所有(C) Microsoft Corporation浊仆。保留所有權(quán)利。
安裝最新的 PowerShell逸月,了解新功能和改進!https://aka.ms/PSWindows
. : 無法加載文件 C:\Users\my\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1遍膜,因為在此系統(tǒng)上禁止運行腳本碗硬。
有關(guān)詳細信息,請參閱 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies瓢颅。
所在位置 行:1 字符: 3
+ . 'C:\Users\my\Documents\WindowsPowerShell\Microsoft.PowerShell_profi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) []恩尾,PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
輸入 get-ExecutionPolicy 輸出 Restricted
PS C:\Windows\system32> get-ExecutionPolicy
Restricted
以管理員方式啟動PowerShell 輸入 set-ExecutionPolicy RemoteSigned
PS C:\Windows\system32> set-ExecutionPolicy RemoteSigned
執(zhí)行策略更改
執(zhí)行策略可幫助你防止執(zhí)行不信任的腳本。更改執(zhí)行策略可能會產(chǎn)生安全風(fēng)險挽懦,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 幫助主題所述翰意。是否要更改執(zhí)行策略?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暫停(S) [?] 幫助 (默認值為“N”):
更換完成后,再次使用命令 get-ExecutionPolicy 查看腳本執(zhí)行策略信柿。
PS C:\Windows\system32> get-ExecutionPolicy
RemoteSigned
重啟 PowerShell