繁体   English   中英

如何在 Windows 中远程编辑文本

[英]How do I edit text remotely in Windows

(注意,这个问题也发布在technet 上

如何在 Windows 中远程编辑文本文件?

我正在运行和管理许多 Windows 7 工作站和 Windows Server 2012 机器。 我希望能够在任何这些机器上远程编辑文本文件。 我可以通过 psexec 或 powershell 远程处理连接到这些机器中的任何一台。 我也可以通过 rdp 进行连接,但是对于工作站,除非万不得已,否则我宁愿不将用户关闭。

例如,我们使用 Salt 管理状态配置。 本地配置文件存储在C:\\salt\\conf 我希望能够即时编辑这些配置文件。

这个问题涵盖了相同的主题,但没有一个答案特别令人满意。

一些可能的解决方案是:

  • 远程桌面:正如我所说,我宁愿不必将用户踢出他们的工作站
  • 通过 UNC 路径编辑文件:这仅适用于共享上的文件,并且为快速编辑设置任意共享似乎是个坏主意。
  • 在所有目标计算机上安装某种方式的 ftp 或 ssh 服务器。 这当然可以工作,但是在 WinRM 已经激活的情况下是否有必要? 我觉得在我的组织中的所有机器上安装和配置额外的软件将是最后的手段。
  • 使用命令行编辑器(例如 vim、emacs)通过远程 powershell 会话进行编辑。 这不起作用。 我不了解技术细节,但是 powershell 远程会话的交互方式与 ssh 连接的交互方式不同。
  • 使用 powershell 的 -replace 运算符、out-file 和 add-content cmdlet 进行编辑。 这有效,但与功能齐全的文本编辑器几乎不一样。
  • 从远程检索内容,在本地编辑,然后回发到远程。 这很有效,可以说是我找到的最好的解决方案。 来自上一个 SO 问题的代码示例:
PS C:\Users\Meredith> Invoke-Command -Session $ps -ScriptBlock {get-content c:/inetpub/myapp/web.config} > web.config

编辑网页配置:

PS C:\Users\Meredith> get-content web.config | Invoke-Command -Session $ps -ScriptBlock {set-content c:/inetpub/myapp/web.config}

最后两个选项是我现在一直在使用的工作流程。 正则表达式替换非常简单的更改,复制到本地并在那里编辑更复杂的更改。 两者都不是理想的,但它们有效。 它只是感觉非常老式。

我正在考虑为我选择的编辑器 (vim) 编写一个插件来执行远程获取和保存,以使我的工作流程更加顺畅。 在我尝试之前,我只想知道是否有任何我遗漏或误解的地方。

使用管理共享。 这些是在 Windows 上默认创建的,它们采用驱动器号后跟$ ,如下所示: \\\\machine\\c$

任何共享名称中的$都会使其“隐藏”(因为浏览\\\\machine\\时它不会显示)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM