Изменение данных строки CSV - PullRequest
1 голос
/ 23 октября 2019

Каждый месяц я вручную запускаю некоторые команды 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...