如何设置PowerShell别名以在新窗口启动PowerShell新进程?
没问题,我来帮你搞定这两个PowerShell别名的需求!
1. 创建能在新窗口启动PowerShell的别名
这里要注意一点:Set-Alias本身没办法直接给带参数的命令串创建别名,所以我们得先定义一个小函数,再给函数起别名——这是PowerShell里处理这类需求的常规操作。
基础版(普通新窗口)
先定义启动新PowerShell窗口的函数,再给它加别名:
# 定义函数:启动新的PowerShell进程(默认在新窗口) function New-PowerShellWindow { Start-Process powershell.exe } # 给函数创建别名,比如用`psnew`,你可以改成自己喜欢的名字 Set-Alias -Name psnew -Value New-PowerShellWindow
之后直接输入psnew就能打开新的PowerShell窗口了。
进阶版(管理员权限窗口)
如果需要快速启动管理员权限的PowerShell,只要修改函数参数就行:
function New-ElevatedPowerShellWindow { Start-Process powershell.exe -Verb RunAs } Set-Alias -Name psadmin -Value New-ElevatedPowerShellWindow
输入psadmin就能弹出管理员权限的PowerShell窗口啦。
让别名永久生效
上面的设置只在当前会话有效,要让别名每次启动PowerShell都能用,把函数和别名的代码添加到你的PowerShell配置文件里:
- 输入
$PROFILE查看配置文件路径 - 输入
notepad $PROFILE打开编辑(如果文件不存在,会提示你创建) - 把函数和别名的代码粘贴进去,保存后重启PowerShell就生效了。
2. 快速执行Invoke-Item启动PowerShell的别名
首先告诉你个小技巧:Invoke-Item本身就有内置别名ii,所以你其实可以直接用:
ii C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
这已经比敲完整的Invoke-Item省事儿多了。
如果还想更快捷,比如用一个短命令直接启动这个路径的PowerShell,同样可以用函数+别名的方式:
# 定义函数:直接调用指定路径的powershell.exe function Open-PowerShellExe { Invoke-Item C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe } # 创建别名,比如`openps` Set-Alias -Name openps -Value Open-PowerShellExe
之后输入openps就能直接执行你要的命令了。
另外,其实用Start-Process替代Invoke-Item也能达到同样的效果,甚至更灵活(比如加参数控制窗口大小、管理员权限等),函数可以改成这样:
function Open-PowerShellExe { Start-Process C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe }
内容的提问来源于stack exchange,提问作者Joe




