11得票2回答
PowerShell模块清单 - 自动加载所需模块

我正在创建一个依赖于其他几个模块的模块,这些模块需要加载到全局环境中。我尝试创建脚本并使用ScriptsToProcess导入这些模块,但似乎在 ScriptstoProcess 运行之前检查 RequiredModules。 在模块清单中有没有一种既可以要求模块,又可以自动加载它(如果它还没...

17得票4回答
传递“-Verbose”状态到模块的命令

我有一个PowerShell模块,包含多个常用的业务函数。这个模块通常不会从控制台中调用,而是被导入到自动化部署和管理脚本中以调用其函数。 该模块还包含一个记录日志的功能,可以将日志信息写入到一个集中的日志位置。我还想利用Write-Verbose功能将日志信息写入到控制台。 #'Star...

12得票1回答
如何在PowerShell v3模块中可靠地引用外部的.NET程序集?

我正在开发一个PowerShell v3模块,需要使用一些外部.NET程序集中包含的类型。 为了便于部署,我希望该模块相对自包含,并且不想依赖于这些程序集被加载到GAC中。理想情况下,我希望将所需的程序集dll放置在模块文件夹中,然后依靠PowerShell在加载模块时自动加载这些程序集。 ...

7得票2回答
如何在多文件PowerShell模块中管理脚本之间的依赖关系?

我有一大批powershell代码,是在一个长期项目中编写的;这些脚本执行各种功能,其中大多数都以某种方式依赖于项目范围内的其他脚本。目前,这项工作由几个包含许多函数的文件组成。最初,为了使用这些脚本,所有脚本文件都被随意地点源到环境中。 然而,我最近了解到Powershell 2.0引入了...

80得票7回答
如何使用PowerShell执行.sql文件?

我有一个.sql文件。我试图通过Powershell脚本传递连接字符串细节并调用一个.sql文件。 我正在搜索与Invoke-sqlcmd相关的cmdlet。当我尝试查找与SQL对应的模块时,我没有在我的计算机上找到任何模块。 我需要在我的计算机上安装任何东西(计算机已经安装了SQL Se...

8得票1回答
PowerShell 模块设计 - Export-ModuleMember

我正在构建一个模块,该模块导出一个cmdlet,并希望通过我的个人资料使其可用。这个cmdlet的实现分散在多个实现文件中,这些文件包含我不想公开的实现函数。因此,我使用Export-ModuleMember来隐藏它们。 文件get_something.psm1 import-module...

9得票1回答
在一个点源文件中引用PowerShell点源——导入类

我的项目结构如下: MyScript.ps1 classes\ Car.ps1 Tesla.ps1 Car.ps1是Tesla.ps1的基类。我试图在Tesla.ps1中像这样定义Tesla: . "$PSScriptRoot\Car.ps1" class Tesla...

7得票1回答
`PowerShellVersion`和`PowerShellHostVersion`之间的区别是什么?

摘要 PowerShell模块清单值PowerShellVersion和PowerShellHostVersion有什么区别? 详细说明 创建新模块清单时,既有此模块所需的PowerShell的最低版本设置,也有所需的PowerShell Host的最低版本设置。 例如: New-Mo...

20得票5回答
从一个模块中导出 Powershell 5 枚举声明

我在一个模块内定义了一个枚举类型。在模块被加载后,如何导出它以便从外部访问?enum fruits { apple pie } function new-fruit { Param( [fruits]$myfruit ) write-host $m...

7得票2回答
有没有一种方法让PowerShell模块访问其调用者的作用域?

我有一系列实用函数和其他代码,我在编写每个PowerShell文件时都要点出来。由于调用者范围变量会影响它,我开始考虑将其转换为PowerShell模块。 我遇到了一些问题,其中有几个特殊的事情,我确实希望在它们之间进行一些交互。我想知道有没有办法“获取”模块的调用者作用域以保持这种功能,同...