Я подключаюсь к другому компьютеру, используя удаленное управление powershell, очень приятно. может делать много, но как отредактировать файл?
PS C:\Users\guutlee > Enter-PSSession -ComputerName appprod
[appprod]: PS C:\Users\guutlee\Documents > cd\myapp
[appprod]: PS C:\myapp >
что я могу сделать, чтобы открыть редактор файлов в файле на удаленной машине?
[appprod]: PS C:\myapp > изменить app.config
так что редактирование "filename" просто кажется зависающим, из файла powershell.exe или из файла powershell_ise.exe
Единственное, о чем я могу думать, это вернуться из pssession и "start\webprod\c $\ inetpub\myapp\web.config", который откроет визуальную студию.
[appprod]: PS C:\myapp > exit
PS C:\Users\guutlee > start\agobuild\c $\ myapp\app.config
PS C:\Users\guutlee > Enter-PSSession -ComputerName appprod
[appprod]: PS C:\Users\guutlee\Documents > cd\myapp
[appprod]: PS C:\myapp > myapp.exe
Конечно, с этим я должен снова найти файл, надеюсь, что c $share доступен и доступен, и снова подключится к моей pssession и снова найду свою рабочую директорию, когда я захочу продолжить. Это не кажется очень изящным.
Возможно, я мог бы обернуть это функцией, но с трудом обволакивать ее вокруг.
так как мне удобно редактировать файл с удаленной pssession?
ИЗМЕНИТЬ
Сообщение kbrimington заставило меня подумать о опции -X для ssh. вероятно, было бы удивительной вещью для сессий powershell, чтобы иметь возможность пересылать оконные приложения обратно в исходную среду окон...
но все же я был бы счастлив просто отредактировать файл.
ИЗМЕНИТЬ
тесты с использованием vi, emacs, cmd и edit
PS C:\Users\Meredith > Enter-PSSession -ComputerName appprod
[appprod]: PS C:\Users\guutlee\Documents > C:\vim\vim72\vim filename.txt
[appprod]: PS C:\Users\guutlee\Documents > C:\emacs-23.2\bin\emacs.exe -nw filename.txt
emacs.exe: emacs: стандартный ввод не является tty
+ CategoryInfo \: NotSpecified: (emacs: standard input is not a tty:String) [], RemoteException + FullyQualifiedErrorId \: NativeCommandError
[appprod]: PS C:\Users\guutlee\Documents > cmd
Microsoft Windows [версия 6.1.7600]
Copyright (c) 2009 Корпорация Microsoft. Все права защищены.
C:\Users\guutlee\Documents >
[appprod]: PS C:\Users\guutlee\Documents > изменить filename.txt
vi и отредактируйте зависание (Control-C, чтобы получить подсказку назад)
cmd работает, создавая приглашение, но сразу же возвращается к приглашению powershell
emacs создает ошибку (стандартный ввод не является tty)
ИЗМЕНИТЬ
Jered предлагает вытащить файл обратно для редактирования. Я приукрасил его ответ на копирование, используя pssessions, а не UNC (возможно, это то, что он намеревался)
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}
Потенциально мы могли бы запускать команды-вызовы в любом направлении, от локального до удаленного или удаленного до локального.