Estou adicionando uma nova peça do PowerShell na minha criação de usuário, que é para enviar um email ao supervisor com um alerta de que eles foram criados. No entanto, por algum motivo, envia as credenciais para o próximo supervisor na lista, em vez do supervisor nessa linha, e o primeiro supervisor listado está obtendo cabeçalhos como informações.
O CSV é construído da seguinte forma:
1.Lastn | Firstn | Program | Password. | Supervisor
2.Duck | Daffy | ........ 998 | ChangeMe | Bob.Dole
3.Bunny| Buggs|.........878| ChangeMe | Elmer.Fudd
O script é:
$Users = Import-Csv "C:\PSScripts\Create\users.csv" -header("lastname","firstname","program","password","supervisor")
foreach ($User in $Users)
{
$OU = "OU=users,DC=Contoso,DC=local"
$UserFirstname = $User.Firstname
$UserLastname = $User.LastName
$Supervisor = $User.Supervisor
$subject = "New Account Creation Completed"
$body = "Good Morning! This e-mail is to alert you that your new staff person $SAM has been granted Contoso.org e-mail access. To log in to outlook web application, their username is $SAM and their temporary password is ChangeMe . They will be prompted to change it upon successful login."
$smtp = "10.10.1.79"
$SAM = $UserFirstname + "." + $UserLastname
Send-MailMessage -to [email protected] -Subject $subject -body $body -SmtpServer $smtp -from [email protected]
}
No entanto, o supervisor 'Bob.Dole' está enviando e-mails com as credenciais 'Buggs.Bunny', e o supervisor Elmer.Fudd está enviando e-mail para 'Firstname.Lastname', que é como o $ Sam é construído. Portanto, as credenciais estão indo para o supervisor em uma linha, e o último supervisor está sendo enviado por e-mail 'firstname.lastname' em vez de uma pessoa. Além disso, estou recebendo e-mails não entregues dizendo que a conta de e-mail [email protected] não é válida, portanto, parece estar interpretando mal algo, embora tenha executado o comando para enviar para o supervisor $ depois de fazê-lo.
Se eu inserir uma célula em branco, sob o cabeçalho 'Supervisor', para que a coluna do supervisor seja desviada para um, ela me diz que um destinatário deve ser especificado, MAS enviará as credenciais para o supervisor CORRECT, uma vez que o destinatário são downshifted.