从Linux客户端自动configurationWindows服务器。

我们公司构build了一个基于服务器的C ++应用程序,可以通过Windows安装程序进行安装。

我希望能够远程login到一个全新的Windows服务器,并安装该C ++应用程序以及一个testing套件,并从Linux工作站执行。 我想用自己的Linux工作站运行一个Bash脚本来自动执行这个过程。

使用Linux服务器,这非常简单。 首先运行sshd的基本configuration,使用scp将服务器端bash脚本从Linux客户端移动到服务器,然后从Linux客户端ssh进入Linux服务器并运行bash脚本。

但是,如果客户端是Linux,但是服务器是Windows Server(例如2k8r2),我该怎么做呢?

我正在考虑使用Chef Solo做一些这方面的工作,但是我仍然需要安装Chef Solo。 我将如何从Linux Workstation远程执行此操作。

你可以尝试使用winexe ,它模仿Linux的psexec 。 源代码包(版本1.00)实际上是将Samba源代码树与该实用程序一起使用。

如果你的发行版没有打包,你可以自己编译。 对于版本1.00,解压缩tar文件并从那里:

 $ cd source4 $ ./autogen.sh $ ./configure 

(您将需要一个适当的生成环境和Python 2.)之后,可执行文件位于bin子目录中。

第一次运行该工具时,它将在远程Windows主机上安装(并启动)服务。 接下来的呼叫要快得多。

使用示例:

 ./bin/winexe //hostname -U domain\\account "cmd.exe /c dir c:\\" 

我不得不设置一个registry键,使其在Windows 7目标上工作(需要重新启动):

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system Key: LocalAccountTokenFilterPolicy DWORD value: 1 

KB 942817有一些关于如何在部署目标时设置registry值的信息。 请注意,这显然有安全隐患。