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.

Divida varias cadenas de un archivo de texto para crear una matriz en powershell.

Soy un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.

Soy muy nuevo en Powershell ISE y no estoy seguro de cómo hacer esto.

Quiero tomar cadenas (uxxxx axxxx nombre correo electrónico) y hacer que se devuelva como una tabla con nombre de usuario, administrador y nombre (quiero automatizar correos electrónicos eventualmente).
Mi código es actualmente así:

$users = Get-Content ".\FileName.txt"
$line = "Username, Admin, Name, Email"
$parts = $line.Split(" ")

  $Test = Foreach ($user in $users) {
          Select-Object Username, Admin, Name
          }
  $Test | Sort-Object -Property Name | Out-GridView

Esta es solo una versión simplificada del código ya que pasará por dominios y procesos de autenticación, pero esperaba que alguien pudiera ayudarme a hacer que la tabla funcione por ahora.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear una tabla con nombre de usuario, administrador y nombre a partir de cadenas en Powershell ISE, puede utilizar el siguiente código:

    $users = Get-Content ".\FileName.txt"
    $table = @() # crea una tabla vacía
    
    ForEach ($user in $users) {
        $parts = $user.Split(" ") # divide la cadena en partes separadas
        $username = $parts[0]
        $admin = $parts[1]
        $name = $parts[2..($parts.Length - 1)] -join " " # combina las partes restantes como nombre
        $table += [pscustomobject]@{Username = $username; Admin = $admin; Name = $name} # crea un objeto y lo agrega a la tabla
    }
    
    $table | Sort-Object -Property Name | Out-GridView # muestra la tabla en un GridView
    

    Este código crea una tabla vacía utilizando el operador de subexpresión de matrices @(). Para cada cadena en el archivo FileName.txt, el código divide la cadena en partes separadas utilizando el método Split y asigna las partes a variables. Luego combina las partes restantes como nombre utilizando el método Join. El código crea un objeto personalizado utilizando la palabra clave pscustomobject y lo agrega a la tabla utilizando el operador de adición +=. Finalmente, ordena la tabla por la propiedad Name y la muestra en un GridView utilizando el cmdlet Out-GridView.

Comments are closed.