Я подключаюсь к другому компьютеру, используя удаленное взаимодействие 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
, поэтому редактирование «имени файла» кажется просто зависшим, от powershell.exe или от powershell_ise.exe
Единственное, что я могу вспомнить, это вернуться из pssession и "start \ webprod \ c $ \ inetpub \ myapp \ web.config", который откроет Visual Studio.
[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 $ доступен и доступен, и заново подключить мою pssession и заново найти мой рабочий каталог, когда я захочу продолжить.Кажется, это не очень элегантно.
Я мог бы обернуть это функцией, но мне трудно обдумать это ..
так как мне удобно редактировать файл с помощьюудаленный pssession?
EDIT
Пост kbrimington заставил меня задуматься о опции -X для ssh.Вероятно, для сеансов PowerShell было бы здорово перенаправить оконные приложения обратно в исходную оконную среду ...
, но все же я был бы рад просто отредактировать файл.
EDIT
тестирует с использованием vi, emacs, cmd и редактирует
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 \Документы> 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 Corporation,Все права защищены.
C: \ Users \ guutlee \ Documents>
[appprod]: PS C: \ Users \ guutlee \ Documents> edit 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}
Потенциально мы можем запускать команды invoke в любом направлении, локальном дляудаленный или удаленный обратно на локальный.