I need help on customizing my script that can export the following to csv:<\/p>\n
Success/Fail<\/p>\n
Email address of the user.<\/p>\n
My script is below. Im not very verse with powershell hoping someone<\/p>\n
$Users=Import-csv c:\\temp\\user.csv\n$failedUsers = @()\n$successUsers = @()\n$VerbosePreference = \"Continue\"\n$LogFolder = \"C:\\temp\"\nForEach($User in $Users)\n{\n $Identity = $User.identity\n $PhoneNumber = $User.PhoneNumber\n\ntry {\n if (!(get-csonlineuser -identity $Identity))\n {\n Set-CsPhoneNumberAssignment -Identity $identity -PhoneNumber $PhoneNumber -PhoneNumberType DirectRouting\n Write-Verbose \"[PASS] Phone number and Enterprise voice enabled for $Identity\"\n $successUsers += $Identity\n }\n else {\n Write-Warning \"[WARNING] No result found on [$($Identity)]\"\n $usersAlreadyExist += $Identity\n }\n}\ncatch {\n Write-Warning \"[ERROR]Can't create user [$($Identity)] : $_\"\n $failedUsers += $Identity\n}\n}\nif ( !(test-path $LogFolder)) {\n Write-Verbose \"Folder [$($LogFolder)] does not exist, creating\"\n new-item $LogFolder -Force\n}\n\nWrite-verbose \"Writing logs\"\n$failedUsers | out-file -FilePath $LogFolder\\FailedUsers.log -Force -Verbose\n$usersAlreadyExist | out-file -FilePath $LogFolder\\usersAlreadyExist.log -Force -Verbose\n$successUsers | out-file -FilePath $LogFolder\\successUsers.log -Force -Verbose\n<\/code><\/pre>","upvoteCount":7,"answerCount":8,"datePublished":"2022-05-24T05:29:02.000Z","author":{"@type":"Person","name":"iamtnerb","url":"https://community.spiceworks.com/u/iamtnerb"},"acceptedAnswer":{"@type":"Answer","text":"At the end, you can output using Export-Csv rather than Out-File. You can use calculated properties to create the UPN and Success/Failed properties with their corresponding values. Note that the second output to CSV uses -Append to not overwrite the first output.<\/p>\n
$successUsers | Select @{n='UPN';e={$_}},@{n='Success/Failed';e={'Success'}} |\n Export-Csv c:\\temp\\output.csv -NoType\n$FailedUsers | Select @{n='UPN';e={$_}},@{n='Success/Failed';e={'Failed'}} |\n Export-Csv c:\\temp\\output.csv -NoType -Append\n<\/code><\/pre>","upvoteCount":1,"datePublished":"2022-05-25T12:28:08.000Z","url":"https://community.spiceworks.com/t/need-help-on-teams-ad-powershell-that-logs-success-fail/833471/7","author":{"@type":"Person","name":"adminofthings","url":"https://community.spiceworks.com/u/adminofthings"}},"suggestedAnswer":[{"@type":"Answer","text":"I need help on customizing my script that can export the following to csv:<\/p>\n
Success/Fail<\/p>\n
Email address of the user.<\/p>\n
My script is below. Im not very verse with powershell hoping someone<\/p>\n
$Users=Import-csv c:\\temp\\user.csv\n$failedUsers = @()\n$successUsers = @()\n$VerbosePreference = \"Continue\"\n$LogFolder = \"C:\\temp\"\nForEach($User in $Users)\n{\n $Identity = $User.identity\n $PhoneNumber = $User.PhoneNumber\n\ntry {\n if (!(get-csonlineuser -identity $Identity))\n {\n Set-CsPhoneNumberAssignment -Identity $identity -PhoneNumber $PhoneNumber -PhoneNumberType DirectRouting\n Write-Verbose \"[PASS] Phone number and Enterprise voice enabled for $Identity\"\n $successUsers += $Identity\n }\n else {\n Write-Warning \"[WARNING] No result found on [$($Identity)]\"\n $usersAlreadyExist += $Identity\n }\n}\ncatch {\n Write-Warning \"[ERROR]Can't create user [$($Identity)] : $_\"\n $failedUsers += $Identity\n}\n}\nif ( !(test-path $LogFolder)) {\n Write-Verbose \"Folder [$($LogFolder)] does not exist, creating\"\n new-item $LogFolder -Force\n}\n\nWrite-verbose \"Writing logs\"\n$failedUsers | out-file -FilePath $LogFolder\\FailedUsers.log -Force -Verbose\n$usersAlreadyExist | out-file -FilePath $LogFolder\\usersAlreadyExist.log -Force -Verbose\n$successUsers | out-file -FilePath $LogFolder\\successUsers.log -Force -Verbose\n<\/code><\/pre>","upvoteCount":7,"datePublished":"2022-05-24T05:29:02.000Z","url":"https://community.spiceworks.com/t/need-help-on-teams-ad-powershell-that-logs-success-fail/833471/1","author":{"@type":"Person","name":"iamtnerb","url":"https://community.spiceworks.com/u/iamtnerb"}},{"@type":"Answer","text":"$Users=Import-csv c:\\temp\\user.csv\n$failedUsers = @()\n$successUsers = @()\n$VerbosePreference = \"Continue\"\n$LogFolder = \"C:\\temp\"\nForEach($User in $Users)\n{\n $Identity = $User.identity\n $PhoneNumber = $User.PhoneNumber\n\ntry {\n if (!(get-csonlineuser -identity $Identity))\n {\n Set-CsPhoneNumberAssignment -Identity $identity -PhoneNumber $PhoneNumber -PhoneNumberType DirectRouting\n Write-Verbose \"[PASS] Phone number and Enterprise voice enabled for $Identity\"\n $successUsers += $Identity\n }\n else {\n Write-Warning \"[WARNING] No result found on [$($Identity)]\"\n $usersAlreadyExist += $Identity\n }\n}\ncatch {\n Write-Warning \"[ERROR]Can't create user [$($Identity)] : $_\"\n $failedUsers += $Identity\n}\n}\nif ( !(test-path $LogFolder)) {\n Write-Verbose \"Folder [$($LogFolder)] does not exist, creating\"\n new-item $LogFolder -Force\n}\n\nWrite-verbose \"Writing logs\"\n$failedUsers | out-file -FilePath $LogFolder\\FailedUsers.log -Force -Verbose\n$usersAlreadyExist | out-file -FilePath $LogFolder\\usersAlreadyExist.log -Force -Verbose\n$successUsers | out-file -FilePath $LogFolder\\successUsers.log -Force -Verbose\n<\/code><\/pre>\nIf you use the insert code block it makes your code easier to read in the post.<\/p>","upvoteCount":1,"datePublished":"2022-05-24T10:33:40.000Z","url":"https://community.spiceworks.com/t/need-help-on-teams-ad-powershell-that-logs-success-fail/833471/2","author":{"@type":"Person","name":"ealy","url":"https://community.spiceworks.com/u/ealy"}},{"@type":"Answer","text":"
Can you provide some details as to what you want to accomplish? “Help [me]” is not very helpful.<\/p>","upvoteCount":1,"datePublished":"2022-05-24T11:55:01.000Z","url":"https://community.spiceworks.com/t/need-help-on-teams-ad-powershell-that-logs-success-fail/833471/3","author":{"@type":"Person","name":"adminofthings","url":"https://community.spiceworks.com/u/adminofthings"}},{"@type":"Answer","text":"