Sono nuovo in PowerShell e ho bisogno di aiuto. Il mio primo script per il lavoro automatizza i nuovi utenti definiti nell'ambiente AD.PowerShell - combinazione di array
Una discarica CSV verrà eseguita una volta al giorno dal nostro sistema Peoplesoft. Io uso Import-CSV
e creo 3 matrici (nuove, a termine ed elaborate).
Il problema che sto avendo è quello di combinare i 3 array una volta che faccio un giro tra tutti gli utenti e prova a rimetterlo nel file. Il codice si interrompe sulle linee $New += $Term
. Credo che questo sia dovuto al fatto che nel mio file di test c'è solo 1 record di ogni tipo di utente (nuovo, termine ed elaborato) (lo so, aggiungo più utenti e hellip; impossibile. Questo potrebbe essere un risultato reale per qualsiasi giorno particolare). Di seguito è il mio codice di esempio:
#Get Credentials from user
$c = Get-Credential
#Get Date for $Term array population
$e = Get-Date -format M/d/yyyy
#Set file location and variable for said file
$File = "c:\users\nmaddux\desktop\adduserstuff\test.csv"
#Import record sets for New and Term users
$New = @()
$Term = @()
$Procd = @()
$New = Import-Csv $File | Where-Object {
$_.TermDate -eq "" -and $_.LastName -ne "" -and $_.Processdate -eq ""
}
$Term = Import-Csv $File | Where-Object {
$_.TermDate -ne "" -and $_.Processdate -eq "" -and $_.TermDate -le $e
}
$Procd = Import-Csv $File | Where-Object { $_.Processdate -ne "" }
#Process both new and term users provided there are records to process for each
If ($New -ne $NULL -and $Term -ne $NULL) {
# Some code to process users
}
$new += $term
$new += $Procd
$new | Export-Csv $file -NoTypeInformation -ErrorAction SilentlyContinue
Così esporterà ma solo risultati parziali.
errore - Il richiamo del metodo non è riuscito perché [System.Management.Automation.PSObject] non contiene un metodo denominato "op_Addition".
'$ Nuovo + = $ Term' E quella linea è dove ...? – aquinas
Aggiunto il codice e la dichiarazione di errore ... mi scuso. – user2077056