我的Windows服务器上有一个powershell脚本,可以执行一些活动的目录操作。我希望使用shell脚本从另一台Linux机器调用该脚本。
我在Windows服务器上安装了powershell服务器,可以使用基于密钥的ssh身份验证与我的linux机器通信。
由于Windows本身不支持SSH连接,因此我在Windows服务器上安装了一个名为Powershell server(http://www.powershellserver.com/)的软件。
问题是,一旦执行ssh到Windows服务器的命令,我的脚本就会停止。
我的shell脚本如下:
#!/bin/bash
echo "script run"
GROUP=$1
ACCOUNT=$2
ssh Administrator@<Windowshostname>
sleep 10
echo "<pathtoscript>\scriptname.ps1 -group $GROUP -account $ACCOUNT"
sleep 5
echo "exit"
exit
我已经尝试过没有echo命令,它仍然挂起。知道我在这里做错了什么吗?我怎么能让它工作呢?
答案 0 :(得分:0)
除非安装SSH守护程序,否则无法进入Windows框。 您有两种选择:
1-您需要通过Remote PowerShell(WINRM)进行连接。
2-安装SSH守护程序并通过SSH连接(检查here)
3-您也可以使用PowerShell Web Access(Windows服务器。)
更新:如果您使用的是PowerShellServer.com,那么您可以尝试了解更多信息。
在Windows Server中本地测试 scriptname.ps1
在第一行编辑 scriptname.ps1 以在某处创建文件,并在执行后检查该文件是否存在。通过这种方式,您将知道脚本是否正在执行。
执行 Get-ExecutionPolicy 并检查您是否可以运行脚本。通过临时 Set-ExecutionPolicy不受限制
答案 1 :(得分:0)
使用&#34;期待&#34;尝试操作。脚本现在一切正常。