如何从Linux机箱远程closuresWindows XP盒?

我有Windows XP运行在连接到本地networking的虚拟机上进行testing。 testing是远程完成的。 完成后,我想从Linux机器上远程closures它们。

ETA:请注意,Windows盒子运行XP Home,所以没有安全/组策略。

对于在相同的设置下的Linux系统,我这样做:

#> ssh root@linux-vm123 'shutdown -h now'; 

对于Windows系统,我应该能够做到:

 #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U user%pwd 

但是,这给了我以下错误:

 Could not connect to server xx.xx.xx.xx The username or password was not correct. Connection failed: NT_STATUS_LOGON_FAILURE 

用户是pipe理员,帐户设置了密码。 我需要在Windows系统上设置任何东西吗?

ETA:有没有一种方法可以testinglogin,即不发送可能需要其他权限或设置的关机命令?

除了通过Guest帐户,Windows XP Home不允许networkinglogin。 所以你必须首先启用它。

这给了我一个新的错误告诉我,“logintypes”是不允许的。 logintypes是“代码3”,我发现这意味着“networkinglogin”。 激活文件共享解决了这个问题,但我不知道为什么。

当然,Guest不允许closures计算机,因此必须将该帐户添加到Administrators组(这当然是严重违反任何安全准则,但请记住,这完全是本地的,全部在我的桌子下面,并在那里)通过在shell中发出以下命令:

 net localgroup Administrators Guest /ADD 

然后 ,你会发现RPC shutdown命令似乎需要目标上的winreg命名pipe道,这似乎是由远程注册服务提供的,这在XP Home中是不可用的。 所以,现在,我没有远程关机。

应该指出的是,XP Home并不意味着在一个可pipe理的专业networking中工作,但是我正在select系统来testing我在目标机器上所期待的,而不是我想要使用的。 然而,net / rpcclient手册中的一个提示会非常友好。

差不多了。 请在bash命令行上跳过你的反斜杠。

 #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U DOMAIN\\user%pwd #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U MACHINENAME\\user%pwd 

这应该工作

你是指定域名还是机器名称:

即如果机器在域上

 #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U DOMAIN\user%pwd 

要么

 #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U [email protected]%pwd 

或者机器是否在工作组中

 #> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U MACHINENAME\user%pwd 

根据我的经验,有两件事情可能会出错。 第一个也是最常见的是是否允许远程关机。 在本地安全策略中(开始 – >控制面板 – >pipe理工具 – >本地安全策略)。 展开本地策略并打开安全选项。 “networking访问:本地帐户的共享和安全模式”需要设置为“经典”。

正如另一个答案所说,机器名称是必需的,即使你已经指定了一个IP地址。 尝试使用这样的东西:

 rpcclient --user='Administrator' -I xxxx --command='shutdown' ComputerName 

一个愚蠢的邪恶黑客应该是创build一个监听你的select端口上的服务,只是执行关机(如果XP家庭不包括这样的命令,也许从PsTools套件psshutdown )。 任何连接到该端口的尝试都会触发关机,所以当然,如果有人像端口一样扫描你的testing盒,那么你就会打开自己的心。

更安全的方法是使Windows更像Linux,并安装一个SSH服务器(也许是成熟的cygwin,也许是我在互联网上见过的SSH服务器软件包之一)