如何以管理员身份执行章鱼部署步骤以调用 Update-SPSolution

Posted

技术标签:

【中文标题】如何以管理员身份执行章鱼部署步骤以调用 Update-SPSolution【英文标题】:How can I make octopus deployment step execute as administrator in order to call Update-SPSolution 【发布时间】:2017-05-08 16:54:26 【问题描述】:

我已设置 Octopus 部署脚本,以使用 Update-SPSolution 和 WSP 包更新 SharePoint 解决方案。

当我从 Powershell ISE(以管理员身份运行)测试脚本时,它可以工作。 当我从 Powershell ISE(正常模式)测试脚本时,它失败并出现错误 Update-SPSolution : Access denied 当我让它从 Octopus 运行时,它也失败并出现错误 Update-SPSolution : Access denied

我添加了以下代码,以查看我的代码在从 Octopus 运行时是否以管理员身份运行:

If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole] "Administrator"))
    
        Write-Warning "You do not have Administrator rights to run this script! nPlease re-run this script as an Administrator!"
        Break
    

虽然八达通触手服务的用户有权以管理员身份运行,但部署步骤在八达通运行时并未以管理员身份运行。

如何强制 Octopus 以管理员身份运行我的脚本?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,powershell 脚本没有以管理员身份运行,并且无法添加/部署场解决方案。当我将运行 OctopusDeploy Tentacle 服务的帐户更改为农场管理员帐户时,它已为我解决。我执行了以下步骤:

    打开 services.msc 找到 OctopusDeploy Tentacle,并将登录帐户更改为农场管理员帐户。重启服务。

【讨论】:

【参考方案2】:

您是否尝试过使用库中提供的 SharePoint 步骤模板? https://library.octopusdeploy.com/step-templates/7ac03a43-cb18-4e83-a114-b158a2bb2a52/actiontemplate-sharepoint-solution-deployment

PS:我无法添加评论,因此使用此框来回答您的问题。

希望对您有所帮助。

茉莉

【讨论】:

我的步骤是这个步骤模板的自定义。它要求本地服务是农场管理员,我不喜欢这样做,

以上是关于如何以管理员身份执行章鱼部署步骤以调用 Update-SPSolution的主要内容,如果未能解决你的问题,请参考以下文章

如何以管理员身份运行

如何从网络请求以管理员身份运行 ftp 部署的 exe?

批处理如何调用管理员权限的PowerShell命令执行语句?

如何在DOS下以管理员身份执行命令?

Win10怎么以管理员身份运行CMD命令提示符

我以管理员身份修改HOSTS文件但是不能保存,如何设置