es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Powershell: Todas las direcciones MAC como una cadena combinada

Actualmente, obtengo con este comando todas las direcciones MAC de mi PowerShell:

powershell
getmac /s $computer /FO TABLE /NH

Se ve así:

PS C:\Users\User> getmac /s $computer /FO TABLE /NH

F8-5E-A0-2B-C4-5B   Nicht zutreffend
94-8D-95-41-5F-57   Medien ausgeworfen
F8-5E-A0-2B-C4-5F   Medien ausgeworfen
08-3A-88-5C-03-28   Medien ausgeworfen

Ahora, quiero combinar todas las direcciones en una cadena como esta:

F8-5E-A0-2B-C4-5B / 94-8D-95-41-5F-57 / F8-5E-A0-2B-C4-5F / 08-3A-88-5C-03-28

Sé que debo usar join, pero no sé cómo. ¿Alguien puede ayudarme con eso?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para combinar todas las direcciones MAC en una única cadena separada por una barra diagonal, se puede redirigir la salida del comando getmac al comando ForEach-Object y utilizar el operador -Join para unir las direcciones:

    getmac /s $computer /FO TABLE /NH | ForEach-Object { $_.Split()[0] } -Join " / "
    

    Explicación:
    – El comando getmac /s $computer /FO TABLE /NH devuelve una lista de direcciones MAC y sus descripciones asociadas.
    – El comando ForEach-Object toma la salida de getmac y procesa cada línea de la salida individualmente.
    – El método Split() se utiliza para dividir cada línea de salida en un array.
    – El índice [0] se utiliza para recuperar solo la dirección MAC de cada línea de salida.
    – Finalmente, el operador -Join une todas las direcciones MAC individuales con una barra diagonal y un espacio.

    Por lo tanto, la salida resultante debería ser una única cadena con todas las direcciones MAC separadas por una barra diagonal y un espacio:

    F8-5E-A0-2B-C4-5B / 94-8D-95-41-5F-57 / F8-5E-A0-2B-C4-5F / 08-3A-88-5C-03-28
    

Comments are closed.