Как я могу редактировать текст удаленно в 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. Это работает, но вряд ли то же самое, что полнофункциональный текстовый редактор.
- Получать контент с пульта, редактировать локально и отправлять обратно на пульт. Это работает и, возможно, является лучшим решением, которое я нашел. Пример кода из предыдущего вопроса 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}
Последние два варианта - это рабочий процесс, который я сейчас использую. Замена Regex для очень простых изменений, копирование в локальные и редактирование там для более сложных. Ни один не идеален, но они работают. Это просто невероятно старомодно.
Я подумываю написать плагин для моего редактора (vim) для выполнения удаленной выборки и сохранения, чтобы сделать мой рабочий процесс немного более плавным. Прежде чем я попробую это, я просто хочу знать, есть ли что-то, что я пропустил или неправильно понял.
1 ответ
Используйте административные ресурсы. Они создаются по умолчанию в Windows и имеют форму буквы диска, за которой следует $
, как это: \\machine\c$
$
в любой акции имя делает его "скрытым" (так как оно не будет отображаться при просмотре \\machine\
).