我已经苦苦挣扎了一段时间。我打算为我的项目创建一个新的PowerShell模块,目标是将几个自定义的命令行工具打包成独立的单元,可以通过我们的Nexus存储库(或其他方式)部署到其他机器上。 问题:在我搜索的所有教程中,我发现它们都将所有的PowerShell函数/命令行工具打包成单个*.ps...
我正在开发一个PowerShell v3模块,需要使用一些外部.NET程序集中包含的类型。 为了便于部署,我希望该模块相对自包含,并且不想依赖于这些程序集被加载到GAC中。理想情况下,我希望将所需的程序集dll放置在模块文件夹中,然后依靠PowerShell在加载模块时自动加载这些程序集。 ...
我正在创建一个依赖于其他几个模块的模块,这些模块需要加载到全局环境中。我尝试创建脚本并使用ScriptsToProcess导入这些模块,但似乎在 ScriptstoProcess 运行之前检查 RequiredModules。 在模块清单中有没有一种既可以要求模块,又可以自动加载它(如果它还没...
我的项目结构如下: MyScript.ps1 classes\ Car.ps1 Tesla.ps1 Car.ps1是Tesla.ps1的基类。我试图在Tesla.ps1中像这样定义Tesla: . "$PSScriptRoot\Car.ps1" class Tesla...
据我所知,PowerShell 存储库是一个 NuGet 存储库(详见此链接)。 GitHub 刚刚发布了他们的软件包存储库(详情请见此处),其中我的公司目前用于 npm,但也具有 NuGet 的终端点。 我可以通过我的 GitHub 凭据访问 NuGet 终端点(https://nuge...
我正在构建一个模块,该模块导出一个cmdlet,并希望通过我的个人资料使其可用。这个cmdlet的实现分散在多个实现文件中,这些文件包含我不想公开的实现函数。因此,我使用Export-ModuleMember来隐藏它们。 文件get_something.psm1 import-module...
我有一大批powershell代码,是在一个长期项目中编写的;这些脚本执行各种功能,其中大多数都以某种方式依赖于项目范围内的其他脚本。目前,这项工作由几个包含许多函数的文件组成。最初,为了使用这些脚本,所有脚本文件都被随意地点源到环境中。 然而,我最近了解到Powershell 2.0引入了...
我正在尝试设置NuGet Feed,这个过程进行得很顺利。我通过自己的Feed安装了一个模块。 Install-Module -Name MyCmdlets -Repository $RepoName -Scope CurrentUser -Force Import-Module -Name...
我发现许多 Chocolatey 助手函数: C:\ProgramData\chocolatey\helpers\functions "和扩展函数" C:\ProgramData\chocolatey\extensions\chocolatey-core 在开发非 Chocolat...
我有一系列实用函数和其他代码,我在编写每个PowerShell文件时都要点出来。由于调用者范围变量会影响它,我开始考虑将其转换为PowerShell模块。 我遇到了一些问题,其中有几个特殊的事情,我确实希望在它们之间进行一些交互。我想知道有没有办法“获取”模块的调用者作用域以保持这种功能,同...