Me estoy conectando a otra computadora usando Powershell Remoting, realmente agradable. puedo hacer muchas cosas, pero ¿cómo puedo editar un archivo?cómo editar un archivo en la sesión remota de powershell (powershell)
PS C: \ Users \ guutlee>Enter-PSSession -ComputerName appprod
[appprod]: PS C: \ Users \ guutlee \ Documentos>cd \ miaplicacion
[ appprod]: PS C: \ myapp>
¿qué puedo hacer para abrir un editor de archivos en un archivo en la máquina remota?
[appprod]: PS C: \ miaplicacion> editar app.config
modo de edición "nombre de archivo" sólo parece colgar, desde powershell.exe o desde powershell_ise.exe
El Lo único que se me ocurre es volver a salir de la sesión e iniciar "\ webprod \ c $ \ inetpub \ myapp \ web.config", que abriría Visual Studio.
[appprod]: PS C: \ miaplicacion> salida
PS C: \ Users \ guutlee>inicio \ agobuild \ c $ \ miaplicacion \ app.config
PS C: \ Users \ guutlee>Enter-PSSession -ComputerName appprod
[appprod]: PS C: \ Users \ guutlee \ Documentos>cd \ miaplicacion
[appprod]: PS C: \ miaplicacion>myapp.exe
Por supuesto, con esto tengo que volver a encontrar el archivo, espero que el recurso compartido C $ está disponible y accesible, y la reconexión mi sesión y volver a encontrar mi directorio de trabajo cuando quiero continuar. No parece muy elegante.
tal vez podría envolver esta es una función, pero teniendo dificultades para envolver mi cabeza alrededor de eso ..
Entonces, ¿cómo convenientemente editar un archivo con un pssession remoto?
EDITAR
puesto de kbrimington me hizo me hizo pensar en la opción -X a ssh. probablemente sería una cosa increíble para las sesiones de PowerShell poder reenviar las aplicaciones de ventana al entorno original de ventanas ...
pero aún así me gustaría simplemente editar el archivo.
EDIT
pruebas usando vi, emacs, cmd y editar
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: entrada estándar no es una tty
+ CategoryInfo \: NotSpecified: (emacs: standard input is not a tty:String) [], RemoteException + FullyQualifiedErrorId \: NativeCommandError
[appprod]: PS C: \ Users \ guutlee \ Documentos> cmd
Microsoft Windows [Versión 6.1.7600]
copyright (C) 2009 Microsoft Corporation. Todos los derechos reservados.
C: \ Users \ guutlee \ Documentos>
[appprod]: PS C: \ Users \ guutlee \ Documentos>edición filename.txt
vi y editar colgar (Control- C para obtener una pronta vuelta)
carreras cmd, produciendo un aviso, pero inmediatamente sale de nuevo a la línea de PowerShell
emacs produce el error (entrada estándar no es una TTY)
EDITAR
Jered sugiere tirando el archivo de nuevo localmente para editar. Embellecí su respuesta a copiar utilizando PSSessions en lugar de UNC (tal vez esto es lo que pretendía)
PS C: \ Users \ Meredith>Invoke-Command -Sesión $ ps -ScriptBlock {get-content c:/inetpub/miaplicacion/web.config}> web.config
edición web config
PS C: \ Users \ Meredith>web.config get-content | Invoke-Command -Sesión $ ps -ScriptBlock {set-contenido de c: /inetpub/myapp/web.config}
Potencialmente podría ejecutar los comandos de invocación en cualquier dirección, locales a distancia o control remoto de nuevo a local.
Esto no responde cómo editar convenientemente un archivo, pero es una explicación del comportamiento de colgado, por lo que lo publicaré como un comentario. Parece que su sesión se cuelga porque una sesión remota no virtualizará las aplicaciones con ventana para usted; es decir, su sesión de edición sería visible para usted en el Escritorio remoto si estuviera conectado a través de servicios de terminal. – kbrimington
no funcionará muy bien con las aplicaciones de consola interactiva. – x0n