MSBuild 使用凭据调用 Powershell

2024-01-05

我正在尝试使用运行 Powershell 命令的 MSBuild 脚本来部署 Windows 服务。

MSBuild 脚本部署我需要的文件,PowerShell 脚本将使用以下命令卸载并重新安装 Windows 服务:

Invoke-Command -ComputerName IPAddressHere -FilePath "C:\theScriptFileName.ps1" -credential "TheUserName"

使用 IP 地址(由于域不同,我需要使用 IP 地址)我需要使用凭据。问题是它会提示输入密码,这对于 TeamCity 的自动化不起作用。

我知道我可以将凭据保存到一个变量中,这样提示就不会显示,但我需要将其放入 MSBuild 可以执行的类似于以下内容的行中:

powershell.exe -NonInteractive -executionpolicy Unrestricted -command "& Invoke-Command -ComputerName IPAddressHere -FilePath 'C:\theScriptFileName.ps1' "

有没有正确的方法来做到这一点?


使用来自的代码Lee Holmes 关于导出凭证的文章 http://www.leeholmes.com/blog/2008/06/04/importing-and-exporting-credentials-in-powershell/:

function Export-Credential($cred, $path) {
  $cred.Password = $cred.Password | ConvertFrom-SecureString
  $cred | Export-Clixml $path
}
function Import-Credential($path) {
  $cred = Import-Clixml $path
  $cred.password = $cred.Password | ConvertTo-SecureString
  New-Object System.Management.Automation.PSCredential($cred.username, $cred.password)
}

首先在将运行构建的同一台计算机上与同一用户的常规会话中保存凭据。 (嗯,在每台这样的计算机和用户配置文件上。)然后,在构建脚本中,从同一路径导入 Credential 并将新的 $cred 传递给 Invoke-Command。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSBuild 使用凭据调用 Powershell 的相关文章

随机推荐

  • PowerShell:从文本文件读取行,构造源文件名和目标文件名,然后复制文件

    I m a 电源外壳 http en wikipedia org wiki Windows PowerShell新手 我很想能够编写这个脚本 我有一个文本文件 其中每一行都是文件名的一部分 没有路径或扩展名 我想要一个单行循环遍历文件的每一
  • 将字符串添加到 ArrayList [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要确保我正在正确构建这个程序 我
  • Python 抽象类 - 如何阻止实例化?

    我有 C 背景 该语言具有一些内置的 保护开发人员 功能 我知道 Python 采用 我们都是成年人 的方法 并让开发人员有责任深思熟虑 仔细编码 也就是说 Python 建议采用约定 例如私有实例变量的前导下划线 我的问题是 除了在文档字
  • Oracle 二进制数据类型

    有没有一种类型或方法如何在oracle中以二进制级别存储数据 我对 dml at table 和 pl sql 的操作都感兴趣 目前所有二进制元素都存储为 varchar2 1000 11111 0000 1111 但操作和数据存储大小相当
  • 创建 MySQL 存储过程来更新记录

    我正在转换所有现有的 MSSQL 数据库 并且存储过程被困在一个新的存储过程中 我需要在其中更新现有记录 一旦记录插入数据库并成功发送电子邮件 或至少传递到 SMTP 服务器 就会从 Web 表单调用该过程 我在 MSSQL 中有一个工作程
  • 如何编译c程序使其不依赖任何库?

    看来即使是一个 hello world 程序也依赖于几个库 libc so 6 gt lib64 libc so 6 0x00000034f4000000 lib64 ld linux x86 64 so 2 0x00000034f3c00
  • 我可以在 PHP 中使用字符串连接来定义类 CONST 吗?

    我知道您可以使用字符串连接来创建彼此的全局常量 define FOO foo define BAR FOO bar echo BAR 将打印 foobar 但是 我在尝试使用类常量执行相同操作时遇到错误 class foobar const
  • Selenium FindElement 会阻塞,直到文件上传完成

    短篇 当我使用 SendKeys path 触发文件上传到代理元素 由 ExecuteScript 放置 然后通过 jquery fileupload 插件代理到我的隐藏元素时 文件上传正常 但是当我尝试发出FindElement 它会阻塞
  • 如何为基于http的集成测试生成覆盖率报告?

    我正在为一个项目编写集成测试 在该项目中我进行 HTTP 调用并测试它们是否成功 由于我没有导入任何模块 也没有直接调用函数 coverage py 报告的覆盖率是 0 我想知道如何为此类集成 HTTP 请求测试生成覆盖率报告 食谱大致是这
  • 在python中使用scrapy执行Javascript函数

    我对 scrapy 我正在废弃一个网站 因为我有一些锚标记 其中包含 href 属性和javascript 提交表单函数 当我单击该 javascript 函数时 将打开一个页面 我需要从中获取数据 我使用了Xpath并找到特定锚标记的 h
  • 简单的子域重定向 PHP

    我的移动应用程序有一个子域 就像http m traffic domain com http m traffic domain com现在我希望我的用户可以通过访问访问他们的页面http m traffic domain com 用户名 h
  • 当我用 menhir 生成解析器时,有没有办法导出更多东西?

    我正在使用 menhir 生成解析器 现在 它从我的 parser mly 文件生成的 parser mli 文件如下所示 The type of tokens type token huge ADT definition goes her
  • 使用 TypeScript 在 Angular 管道中使用 MapToIterable

    尝试在 Angular 中实现管道 在意识到 ngFor 不适用于地图之后 一些研究让我相信未来的功能将会解决这个问题 但与此同时 mapToIterable 管道就是答案 我有以下代码 import Pipe PipeTransform
  • 如何在Android手机中查找应用程序崩溃日志?

    如果任何 Android 应用程序崩溃 则会代表该应用程序生成一些崩溃日志 如何找到此类崩溃日志的位置 我想要 Android 设备内部的崩溃日志 而不是真正使用 Logcat 来查看崩溃日志 在 logcat 堆栈跟踪中 您可以找到异常
  • 我可以使用什么 CSS 来缩放画布以填充其容器而不改变其纵横比?

    我有一个特定尺寸的画布 比如说 300x150 我可以使用什么 CSS 来缩放画布以填充其容器 而不改变其纵横比 并将其水平和垂直居中 以获得缩放后剩余的任何额外空间 我试过这个 box sizing border box moz box
  • Android 4.4.2 中 Google API(x86 系统映像)和 Google API(ARM 系统映像)之间的差异

    我正在关注这个 http developer android com google play services setup html Install http developer android com google play servic
  • 只读内存和堆内存

    AFAIK 在 C 语言中 字符串文字存储在只读存储器中 它实际上存在于硬件上的什么位置 根据我的知识堆在 RAM 上 如果我错了 请纠正我 堆和只读内存有什么不同 它依赖于操作系统吗 这通常是在硬件辅助下完成的 可以告诉硬件的虚拟内存子系
  • 如何防止对我的用node.js编写的http服务器进行DOS攻击?

    使用node js 用于构建可以处理http请求的tcp服务器的net模块 我想防止 ddos 攻击 所以我所做的是这样的 if status numOfCurrentRequests 1 gt MAX NUM OF CONNECTIONS
  • 如何在CSS中创建双底边框

    我想在标题底部创建一个双边框 其中有两条不同粗细的线 其间有 1px 的空间 具体来说 顶线的厚度为 2px 底线的厚度为 1px 这是我想要达到的美学目标的图像示例 其他使用此设计方面的网站 http www rollingstone c
  • MSBuild 使用凭据调用 Powershell

    我正在尝试使用运行 Powershell 命令的 MSBuild 脚本来部署 Windows 服务 MSBuild 脚本部署我需要的文件 PowerShell 脚本将使用以下命令卸载并重新安装 Windows 服务 Invoke Comma