簡體   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