如何导入新的PowerShell cmdlet?

mar*_*ark 5 powershell

我刚从http://poshcode.org/2205下载了Register-TemporaryEventcmdlet,并将其放在脚本附近的powershell配置文件目录中.$profile

如何创建一个Register-TemporaryEvent绑定到此脚本的新命令?

谢谢.

Ryn*_*ant 2

使用 PowerShell,如果脚本放置在“PATH”环境变量中包含的目录中,则可以将脚本作为命令执行。要查看路径中有哪些目录,可以使用:

$env:Path -split ';'| sort
Run Code Online (Sandbox Code Playgroud)

您可以从 Windows 的系统属性中永久修改路径以包含脚本的位置,也可以从配置文件或脚本中临时修改路径。在您的特定情况下,您可以将以下内容添加到您的配置文件中,以将配置文件目录添加到路径中:

$ScriptRoot = Split-Path $SCRIPT:MyInvocation.MyCommand.Path

if(($env:Path -split ';') -notcontains $ScriptRoot) {
    $env:Path += ';' + $ScriptRoot
}
Run Code Online (Sandbox Code Playgroud)

然后您可以运行该命令:

PS >$timer = New-Object Timers.Timer
PS >Register-TemporaryEvent $timer Disposed { [Console]::Beep(100,100) }
Run Code Online (Sandbox Code Playgroud)

注意:当 tab 完成时,它将完成为Register-TemporaryEvent.ps1,但您可以删除“.ps1”,它仍然可以工作。