gpt4 book ai didi

c# - 如何制作批处理脚本以使用凭据在远程计算机上运行命令

转载 作者:行者123 更新时间:2023-11-30 14:05:47 24 4
gpt4 key购买 nike

我已经编写了一些批处理脚本来在机器上执行 docker 命令,并使用 c# 程序使其运行。我可以在本地机器上成功运行这些批处理脚本,但我希望它在远程机器上运行。我如何通过提供远程机器访问凭据来做到这一点?我正在寻找将首先连接到远程机器然后在远程机器上执行其主体的批处理命令。示例批处理脚本如下。

::Start an exited container
::Iam expecting some code here to connect to a remote machine
@echo off
docker start %1

或者,是否有任何选项可以通过 C# 程序来完成?

最佳答案

我找不到在远程机器上运行批处理脚本的方法,但我使用了 powershell 脚本而不是批处理脚本。如果您可以使用 powershell 脚本而不是批处理脚本,则可以使用此方法。

set-item wsman:localhost\client\trustedhosts -value <Remote_computer_name> -Force
$pword = ConvertTo-SecureString -String <Remote_machine_password> -AsPlainText -Force
$user = <Remote_userName>
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user, $pword
Set-ExecutionPolicy -ExecutionPolicy Bypass
Invoke-Command -ComputerName <Remote_computer_name> -filepath <ps1_file_path> -Credential $Credential

在 powershell 管理员窗口中运行上述命令将运行 <ps1_file_path> 中的脚本在远程机器上。


你必须考虑到,命令 set-item wsman:localhost\client\trustedhosts -value <Remote_computer_name> -Force将远程机器添加到受信任的主机列表中。此外,命令 Set-ExecutionPolicy -ExecutionPolicy Bypass将允许所有 powershell 脚本在我们的机器上运行,我不确定使用它是否安全。希望它能以某种方式帮助某人,但你必须进行研究以确保这种方法是安全的。引用:

Execution Policies

关于c# - 如何制作批处理脚本以使用凭据在远程计算机上运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53632923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com