具有管理员权限的远程服务器上的 TFS 运行 批处理脚本
TFS Run batch script on a remote server with admin permission
我目前有服务器 A,它是我的 TFS 和构建代理所在的位置。然后我有服务器 B,这是我的源代码站点。我正在尝试设置构建定义并将文件从服务器 B 中的某个位置复制到另一个位置,然后构建解决方案。
然而,当我 运行 这个批处理文件作为构建定义的一部分时,它没有在需要的地方创建文件夹。我相信是由于代理没有正确的权限。
有没有办法 运行 以下批处理脚本 运行 具有来自构建定义的管理员权限。
您可以尝试以下解决方法:
- 将批处理脚本转换为 PowerShell 脚本,然后复制
PowerShell 脚本到目标机器并在目标上使用 PowerShell
Machines 任务到 运行 脚本。您可以输入您的管理员用户
和使用任务的密码。参考下面的截图。
添加 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'"}
我目前有服务器 A,它是我的 TFS 和构建代理所在的位置。然后我有服务器 B,这是我的源代码站点。我正在尝试设置构建定义并将文件从服务器 B 中的某个位置复制到另一个位置,然后构建解决方案。
然而,当我 运行 这个批处理文件作为构建定义的一部分时,它没有在需要的地方创建文件夹。我相信是由于代理没有正确的权限。
有没有办法 运行 以下批处理脚本 运行 具有来自构建定义的管理员权限。
您可以尝试以下解决方法:
- 将批处理脚本转换为 PowerShell 脚本,然后复制 PowerShell 脚本到目标机器并在目标上使用 PowerShell Machines 任务到 运行 脚本。您可以输入您的管理员用户 和使用任务的密码。参考下面的截图。
添加 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'"}