17

如果我找到(或创建)一个新的 PowerShell cmdlet(或函数),我如何将它添加到我的机器中?

  • 我是否将其复制到特定文件夹?
  • 我是否将其内容放在特定文件中?
  • 我是否需要对其进行授权、签名或以某种方式给予许可?

我不想只在一个会话中使用它;我希望它在我在这台机器上使用 PowerShell 时可用。

4

2 回答 2

16

正如亚历克斯所提到的,在您的个人资料或“点缀”到您的个人资料中的脚本中定义的任何功能都将始终可用。如果您在配置文件中使用 Add-PSSnapin 添加管理单元,情况也是如此。管理单元中的 cmdlet 将始终可用。有关配置文件的更多信息,请查看帮助主题:

man about_profiles

但是,如果您有大量功能,您可能不想在需要它们之前加载它们。在这种情况下,您可以将功能组织到脚本中,然后将这些脚本放入路径中的一个或多个目录中。然后,您可以按名称引用脚本,而无需指定完整路径甚至 .PS1 扩展名。有关使用脚本的更多信息,请查看帮助主题:

man about_scripts

PowerShell V2 引入了一种更好的方法来组织函数并按需加载它们。该功能称为模块,允许您通过简单的名称(而不是路径)导入模块,并选择哪些函数和变量是公开的,哪些是私有的。如果您有 V2,请查看模块:

man about_modules
于 2009-08-28T02:41:41.710 回答
2

您应该通过配置文件脚本访问 cmdlet。这样,每次访问 PowerShell 时,它都会被加载。请参阅配置文件的力量

于 2009-08-28T01:12:47.053 回答