具有管理员权限的远程服务器上的 TFS 运行 批处理脚本

TFS Run batch script on a remote server with admin permission

我目前有服务器 A,它是我的 TFS 和构建代理所在的位置。然后我有服务器 B,这是我的源代码站点。我正在尝试设置构建定义并将文件从服务器 B 中的某个位置复制到另一个位置,然后构建解决方案。

然而,当我 运行 这个批处理文件作为构建定义的一部分时,它没有在需要的地方创建文件夹。我相信是由于代理没有正确的权限。

有没有办法 运行 以下批处理脚本 运行 具有来自构建定义的管理员权限。

您可以尝试以下解决方法:

  1. 将批处理脚本转换为 PowerShell 脚本,然后复制 PowerShell 脚本到目标机器并在目标上使用 PowerShell Machines 任务到 运行 脚本。您可以输入您的管理员用户 和使用任务的密码。参考下面的截图。
  2. 添加 PowerShell 任务和 运行 下面的脚本来调用 cmd.exe 运行 目标机器上具有管理员用户帐户的批处理脚本 (首先将批处理脚本复制到目标机器,在下面的示例 I 将批处理脚本复制到 C:\Scripts\Test.bat):

    Param(
      [string]$computerName = "v-tinmo-12r2",
    )
    $Username = "Domain\user"
    $Password = ConvertTo-SecureString "password-here" -AsPlainText -Force
    
    $cred = New-Object System.Management.Automation.PSCredential($Username,$password)
    
    Invoke-Command -ComputerName $computerName  -Credential $cred -ErrorAction Stop -ScriptBlock {Invoke-Expression -Command:"cmd.exe /c 'C:\Scripts\Test.bat'"}