Buscar CSV utilizando valores de CSV
Tengo un CSV que tiene dos columnas: Computer (ordenador) y Action (acción). También tengo otro CSV que tiene 3 columnas: Computer Identifier (identificador del ordenador), Serial Number (número de serie) y Device ID (ID del dispositivo).
Quiero tomar el CSV1 y tomar la columna “Computer” y buscar esos valores en el CSV2 y ver si es el identificador del ordenador o el número de serie, y darme el ID del dispositivo coincidente para poder ejecutar otra función con eso.
Entonces, el CSV1 buscará donde el valor del ordenador esté en el CSV2.
Entonces, CSV1:
Computer | Action |
---|---|
CB12345 | Lock |
574638 | Unlock |
Buscará en el CSV2 donde:
DeviceID | CB Number (Número de CB) | Serial (Serie) |
---|---|---|
57687348 | CB12345 | 674Z2X3 |
34554345 | CB65487 | 474Z2X3 |
54868323 | CB45789 | 574Z2X3 |
15593235 | CB65976 | 974Z2X3 |
37593236 | CB35466 | 074Z2X3 |
Una vez que encuentre el valor, ya sea un número de CB o un número de serie, tomará su correspondiente ID de dispositivo para que pueda usarlo en otra función.
Esto es lo que tengo hasta ahora, pero no estoy seguro de cómo hacerlo para poder usar ambos CSV:
$yesterday = [datetime]::Today.AddDays(-1).ToString("yyyy-MM-dd")
$date = get-date -Format yyyy-MM-dd
$CB = import-csv -Path "\\Scripts\GAM test\CBs"
$GAM = import-csv -Path "\\Scripts\GAM\CSV\$yesterday-GAMprintCROSbasic.csv"
#foreach ($record in $CB)
#{
# if ($record.action = "Unlock")
# {
# $DeviceID = $record.deviceID
# $DeviceAsset = $record.asset
# E:\gam\gam.exe update cros $DeviceID action enable
# Write-Output "$deviceID is being disabled. $deviceasset"
# Start-Sleep 10
# }
#}
davy.ai
Para lograr el resultado deseado, podemos seguir los siguientes pasos:
Import-Csv
y almacenarlos en variables separadas.Aquí tienes un ejemplo de código que implementa estos pasos:
Este código asume que la columna de identificador de equipo en CSV2 se llama ‘CB Number’ y la columna de número de serie se llama ‘Serial’. Es posible que necesites cambiar los nombres de las columnas si son diferentes en tus archivos CSV. Además, reemplaza los comentarios de marcador de posición por tus llamadas de función reales.