如何在 Azure DevOps 中使用 SharePointPnpPowerShellOnline PowerShell 模块?
How to use SharePointPnpPowerShellOnline PowerShell module in Azure DevOps?
我未能将 SharePointPnpPowerShellOnline PS 模块用作我的发布管道的一部分。
我们将 Azure DevOps 与 Azure VM 上的托管生成代理一起使用。我想完成将构建工件上传到 Microsoft Teams/Sharepoint。
- 我在服务器上安装了 SharePointPnpPowerShellOnline(在 DevOps 构建代理使用的帐户下),但构建代理无法在使用所述模块的第一行执行脚本(调用
Connect-PnPOnline -Url https://... -Credentials ...
).错误信息:"Connect-PnPOnline : The term 'Connect-PnPOnline' is not recognized as the name of a cmdlet, function, script file"。所以它的行为就像根本没有安装模块一样。
- 然而当我登录服务器时(使用正确的帐户),找到了模块并且我可以成功执行Connect-PnPOnline。
- 使用的 Azure DevOps 管道任务是 "PowerShell"。
构建代理是否应该能够找到已安装的模块,因为我为它的用户安装了它?
编辑:我做了更多 "debugging",即:
- 在 [Environment]::UserName 下记录脚本 运行 的用户名,以确保我为正确的用户安装了模块。结果:匹配预期的用户。
- 在我的脚本中通过 Get-InstalledModule 列出已安装的模块。一旦代理在发布管道中执行它,它就会产生一个空列表。然而在 VM 上执行相同的脚本(通过 RemoteDesktop)会产生已安装的模块
我的猜测是我犯了一个愚蠢的初学者错误,因为我对 PowerShell 的经验不多...
回答我自己的问题:最后,我通过在脚本中添加以下两行来再次安装模块。当然,如果有人能解释 为什么 它不能以另一种方式工作,我当然会很高兴...
Install-PackageProvider Nuget -ForceBootstrap -Force
Install-Module -Name SharePointPnPPowerShellOnline -Force -Verbose -Scope CurrentUser
我未能将 SharePointPnpPowerShellOnline PS 模块用作我的发布管道的一部分。 我们将 Azure DevOps 与 Azure VM 上的托管生成代理一起使用。我想完成将构建工件上传到 Microsoft Teams/Sharepoint。
- 我在服务器上安装了 SharePointPnpPowerShellOnline(在 DevOps 构建代理使用的帐户下),但构建代理无法在使用所述模块的第一行执行脚本(调用
Connect-PnPOnline -Url https://... -Credentials ...
).错误信息:"Connect-PnPOnline : The term 'Connect-PnPOnline' is not recognized as the name of a cmdlet, function, script file"。所以它的行为就像根本没有安装模块一样。 - 然而当我登录服务器时(使用正确的帐户),找到了模块并且我可以成功执行Connect-PnPOnline。
- 使用的 Azure DevOps 管道任务是 "PowerShell"。
构建代理是否应该能够找到已安装的模块,因为我为它的用户安装了它?
编辑:我做了更多 "debugging",即:
- 在 [Environment]::UserName 下记录脚本 运行 的用户名,以确保我为正确的用户安装了模块。结果:匹配预期的用户。
- 在我的脚本中通过 Get-InstalledModule 列出已安装的模块。一旦代理在发布管道中执行它,它就会产生一个空列表。然而在 VM 上执行相同的脚本(通过 RemoteDesktop)会产生已安装的模块
我的猜测是我犯了一个愚蠢的初学者错误,因为我对 PowerShell 的经验不多...
回答我自己的问题:最后,我通过在脚本中添加以下两行来再次安装模块。当然,如果有人能解释 为什么 它不能以另一种方式工作,我当然会很高兴...
Install-PackageProvider Nuget -ForceBootstrap -Force
Install-Module -Name SharePointPnPPowerShellOnline -Force -Verbose -Scope CurrentUser