¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo personalizar la salida de Get-ChildItem en PowerShell: guía completa y solución para enlaces simbólicos.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 67 Vistas
0
Cargando...
PowerShell es un gran marco para administradores de sistemas. Es bastante fácil de aprender y usar, lo que te permite ser extremadamente eficiente. #SAPonMS Los administradores pueden usar PowerShell para administrar sus sistemas y mejorar sus flujos de trabajo diarios, al igual que los desarrolladores en nuestro equipo lo usan regularmente en todo tipo de situaciones. Sin embargo, por mucho que me guste PowerShell, tengo un problema con él: La forma en que maneja los enlaces simbólicos .

Es bastante común que los administradores utilicen enlaces simbólicos, pero desafortunadamente la forma en que se muestran en PowerShell no es lo que consideraría óptimo. Permíteme mostrarte a qué me refiero antes de explicar una posible solución:

Imagina el siguiente escenario: tienes un archivo específico, llamémoslo "MiArchivo.txt" y está ubicado en
C:\MiDir\MiArchivo.txt

Luego, quieres tener un enlace simbólico a ese archivo. Para simplificar, coloquémoslo en el mismo directorio:

Puedes usar el comando PowerShell
New-Item -Name C:\MiDir\MiArchivoEnlaceSym.txt -ItemType SymbolicLink -Value C:\MiDir\MiArchivo.txt

para crear dicho enlace. Por supuesto, también podrías usar el "buen y viejo" símbolo del sistema, que ofrece el comando mklink.exe.

Ahora, intenta verificar el contenido de la carpeta usando Get-Childitem:
Modo                ÚltimaModificación     Longitud Nombre
----                -------------     ------ ----
d---l         7/30/2018   3:03 PM            MiArchivoEnlaceSym.txt
-a---         7/30/2018   2:23 PM         12 MiArchivo.txt

Puedes ver de inmediato lo que me molesta: no reconoces que tienes un enlace simbólico. Por supuesto, puedes mirar la longitud del elemento. Sin embargo, esa no es una solución porque el mismo problema es válido para los enlaces simbólicos a carpetas. Crear un subdirectorio "SubDir" y un enlace simbólico a él, llamado "SymLinkSubDir", resulta en la siguiente vista de carpeta:
Modo                ÚltimaModificación     Longitud Nombre
----                -------------     ------ ----
d---l         7/30/2018   3:03 PM            MiArchivoEnlaceSym.txt
d----         7/30/2018   3:14 PM            SubDir
d---l         7/30/2018   3:14 PM            SymLinkSubDir
-a---         7/30/2018   2:23 PM         12 MiArchivo.txt

Para ser completamente justos, hay que decir que a partir de la versión 5 de PowerShell, puedes ver que estás tratando con un enlace simbólico al mirar la "l" en la propiedad Modo. Esto significa que hay una forma de distinguir entre la carpeta original y el enlace simbólico. Sin embargo, aún no puedes ver el destino al que apunta el enlace. Bastante molesto, ¿verdad?
Suponiendo que tienes una configuración más complicada y teniendo en cuenta que normalmente no nombras tus enlaces simbólicos "enlace*", esto tiene un gran potencial de confusión para otros usuarios y tu futuro yo.

Entonces, ¿cómo limpiamos este lío? Primero, ten en cuenta que todo esto asume que estamos utilizando la versión 5 de PowerShell.
La idea general para solucionar nuestro problema es personalizar el formato de la salida de Get-ChildItem y comandos similares. PowerShell te permite cambiar el formato de vista de casi cualquier cosa. Queremos obtener una pista visual clara si tenemos un enlace y también queremos saber a dónde está enlazando. Los archivos de formato predeterminados están ubicados en
C:\Windows\System32\WindowsPowerShell\v1.0

Puedes optar por colocar un archivo de formato personalizado allí creando un archivo llamado
C:\Windows\System32\WindowsPowerShell\v1
                
                
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?