Каждый месяц я вручную запускаю некоторые команды PS и вручную изменяю экспортированный CSV.
Я автоматизировал это, но не могу понять, как изменить столбец «Лицензии».
В каждой строке должен быть указан определенный тест, в этом случае «LICENSE = TYPE1»
Type1 - это имя внутреннего использования, поэтому я не могу получить его из любого места.
При создании файла «System.Collections» помещается в столбец «Лицензии». Мне нужно заменить текст.
Если мой CSV-файл содержит заголовок столбца «ЛИЦЕНЗИЯ», как я могу изменить каждую ячейку в этом столбце так, чтобы она содержала текст «ЛИЦЕНЗИЯ = ТИП1»?
Я пробовал это:
Get-MsolUser | Where-Object {($_.Licenses).AccountSkuId -contains "ENTRPRISEPACK"}
| Select DisplayName, UserPrincipalName, Office, City, State, Licenses | Export-Csv -Path "C:\Scripts\LICENSES.csv" -Delimiter "," -NoTypeInformation
Import-Csv -Path "C:\Scripts\LICENSE.CSV" | ForEach-Object {
If ($_.Licenses -like "System.Collections") {
$_.Licenses = "LICENSE=TYPE1"
}
$_
} | Export-Csv -Path "C:\Scripts\LICENSE123.csv" -NoTypeInformation
Чего мне не хватает?!
Вот как создается файл CSV:
Get-MsolUser |
Where {$_.IsLicensed -eq $true } |
Select DisplayName, UserPrincipalName, Office, City, State, @{n="Licenses";e={$_.Licenses.AccountSKUid}} |
Export-Csv -Path "C:\Scripts\LICENSES.CSV" -Delimiter "," -NoTypeInformation