我想知道是否有人有一个Perl脚本(或可以写一个)通过ssh一次在多个主机上执行,没有任何模块.我曾经有这样的东西,但现在找不到它,不记得它是如何完成的.
好吧,所以我有一些类似于你在下面看到的子程序,我的问题是打印功能在实际命令完成之前没有打印出来,我希望它打印
"有MySQL,安装:",然后执行命令然后打印确定.我已经尝试过使用sleep并尝试清除$ ssh_d对象.任何建议表示赞赏 不要担心这个特定子中的变量,问题一直都在发生.多谢你们.
if ($MySQL)
{
print "Has MySQL, Installing: ";
$mysqlCmd = "/path/to/script/mysql-install.pl $person > /dev/null 2>&1";
$ssh_d->cmd("$mysqlCmd");
print "OK\n";
}
Run Code Online (Sandbox Code Playgroud) 我有一个用于在其他计算机上远程执行命令的脚本,但是...当使用Windows cmd.exe命令时它不会写入远程服务器上的文件.这是代码.
$server = 'serverName'
$Username = 'userName'
$Password = 'passWord'
$cmd = "cmd /c ipconfig"
########################
########################
$ph = "C:\mPcO.txt"
$rph = "\\$server\C$\mPcO.txt"
$cmde = "$cmd > $ph"
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist "$Username",$pass
Invoke-WmiMethod win32_process -name create -ComputerName $server -ArgumentList $cmde Credential $mycred
cmd /c net use \\$server\C$ $password /USER:$username
Get-Content $rph
Remove-Item $rph
cmd /c net use \\$server\C$ /delete
Run Code Online (Sandbox Code Playgroud)
如你所见,我们只是写
$cmde = "$cmd > $ph"
Run Code Online (Sandbox Code Playgroud)
如果我使用PowerShell命令我使用
$cmde = "$cmd | …Run Code Online (Sandbox Code Playgroud)