从 Linux 连接到 Windows 来执行任务

问题描述 投票:0回答:4

我被要求找到一种从 Linux 系统连接到多个 Windows 服务器之一的方法。理想情况下,我们需要做的是连接到导致问题的任何 Windows 服务器,终止进程,然后重新启动该进程。理想情况下,它应该可以放入可以从 Linux 计算机运行的脚本中。到目前为止我发现的所有解决方案都涉及某种远程桌面连接,但正如我所说,命令行解决方案更好?这可能吗?我很抱歉...不完全是一个编程问题,但我已经无计可施了。

windows linux bash
4个回答
2
投票

我在 Windows 机器上将 Cygwin 与 OpenSSH 服务器一起使用(但在安装程序中无需 Cygwin 也可以使用),并且可以从 Linux 机器上通过 SSH 登录以使用命令行执行操作。我不杀死进程,我进行构建。但同样的概念也适用。


2
投票

This声称是sysinternals的端口psexec,我没有使用过它,但psexec很棒


1
投票

Cygwin 的默认 ps/kill 不允许您访问 Windows 进程来杀死它们。

使用 cygwin + openssh + windows services 在机器上获取 SSH 用户。

一旦进入 SSH 命令行,您就可以使用标准 Win32 工具来终止进程,例如 -

taskkill /f /im notepad.exe

或为 Win32 添加其他命令行处理工具

编辑:或者你可以使用

ps -elW
查看所有Windows进程,然后将该PID传递给taskkill。


0
投票

在 Windows 中运行命令

Get-WindowsCapability -Online | Where-Object {$_.Name -like '*OpenSSH*'} 
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 
Get-WindowsCapability -Online | Where-Object {$_.Name -like '*OpenSSH*'} 

将SSH服务器服务的启动类型设置为自动:在windows中

Set-Service -Name sshd -StartupType Automatic

启动SSH服务器服务:在windows中

Start-Service -Name sshd 

在 Ubuntu 中访问

ssh [email protected] 

adSjs5QAhdsHm*wp4P 

 

cd / 

wmic logicaldisk get caption,description 

E:/ 

cd wwwroot\wintext_portal 

Git pull origin main 
© www.soinside.com 2019 - 2024. All rights reserved.