在每个新shell上源一个PowerShell脚本

在每个新shell上源一个PowerShell脚本,powershell,Powershell,我有一个名为Restart-Audio.ps1的脚本 Stop-Process -Confirm -Name musicapp* Stop-Service audiosrv Stop-Service AudioEndpointBuilder Start-Service audiosrv Invoke-Item C:\path\to\music\app.exe 每次启动新的PowerShell会话时,我都希望在键入“Restart Audio”时像普通cmdlet一样运行此脚本。当我尝试将其添加

我有一个名为Restart-Audio.ps1的脚本

Stop-Process -Confirm -Name musicapp*
Stop-Service audiosrv
Stop-Service AudioEndpointBuilder
Start-Service audiosrv
Invoke-Item C:\path\to\music\app.exe
每次启动新的PowerShell会话时,我都希望在键入“Restart Audio”时像普通cmdlet一样运行此脚本。当我尝试将其添加到我的PowerShell配置文件时,它尝试运行脚本,请求确认以停止进程。我不希望它在PowerShell会话启动后立即运行;我希望命令在我告诉它时运行


谢谢

这可以使用Powershell配置文件完成,有关详细信息,请参阅

基本上,您可以创建(如果文件不存在)
C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell\u profile.ps1
,其中可以包含上述脚本

我将文件构造为:

Function Restart-Audio{
Stop-Process -Confirm -Name musicapp*
Stop-Service audiosrv
Stop-Service AudioEndpointBuilder
Start-Service audiosrv
Invoke-Item C:\path\to\music\app.exe
}
然后,只需打开Powershell并键入
重新启动音频
即可运行该功能

此外,如果将脚本保存到
$env:PATH
中的任何文件夹中,只需键入脚本名称的前几个字符,然后单击“完成”选项卡即可运行脚本