使用 powershell 和 plink 通过 sudo 命令关闭远程 linux 计算机
use powershell and plink to shutdown remote linux computer with sudo command
我正在尝试使用 powershell 和 plink 以非交互方式从 windows 计算机远程关闭 RHEL7 linux 计算机。
我可以像这样发送命令并检索结果:
$plinkPath = "C:\somePath"
$ipAddress = "192.168.111.1"
$username = "userName"
$password = "password"
$resultPath = "C:\somewhere"
$resultFile = "someFile.txt"
& "$plinkPath\plink.exe" @("$ipAddress", "-l", "$username", "-pw", "$password", "(pwd)" | Out-File "$resultPath$resultFile"
上面的命令打印linux中的工作目录并将其保存到文件中。但是,我无法发送这样的关机命令,因为该命令必须是 运行 作为这台计算机上的根用户。我相信对于 运行 sudo 命令应该有一些类似下面的语法以类似的方式:
& "$plinkPath\plink.exe" @("$ipAddress", "-l", "$username", "-pw", "$password", "(sudo ... shutdown -h now)") | Out-File "$resultPath$resultFile"
有什么方法可以使用这种方法通过 sudo 发送关机命令吗?
谢谢。
确保用户确实可以 运行 sudo
命令。
问题可能是尝试 运行 命令的用户被要求插入 sudo 密码。
在 sudoers
文件中插入 <YOUR_USERNAME> ALL=(ALL) NOPASSWD
我正在尝试使用 powershell 和 plink 以非交互方式从 windows 计算机远程关闭 RHEL7 linux 计算机。
我可以像这样发送命令并检索结果:
$plinkPath = "C:\somePath"
$ipAddress = "192.168.111.1"
$username = "userName"
$password = "password"
$resultPath = "C:\somewhere"
$resultFile = "someFile.txt"
& "$plinkPath\plink.exe" @("$ipAddress", "-l", "$username", "-pw", "$password", "(pwd)" | Out-File "$resultPath$resultFile"
上面的命令打印linux中的工作目录并将其保存到文件中。但是,我无法发送这样的关机命令,因为该命令必须是 运行 作为这台计算机上的根用户。我相信对于 运行 sudo 命令应该有一些类似下面的语法以类似的方式:
& "$plinkPath\plink.exe" @("$ipAddress", "-l", "$username", "-pw", "$password", "(sudo ... shutdown -h now)") | Out-File "$resultPath$resultFile"
有什么方法可以使用这种方法通过 sudo 发送关机命令吗?
谢谢。
确保用户确实可以 运行 sudo
命令。
问题可能是尝试 运行 命令的用户被要求插入 sudo 密码。
在 sudoers
文件中插入 <YOUR_USERNAME> ALL=(ALL) NOPASSWD