Я читаю файл CSV, который содержит 25 000 записей, и читаю каждый столбец в файле psobject
. Вот что у меня есть до сих пор:
$file = Import-CSV .\server.csv
$tempobj = New-Object psobject -Property @{
'Name' = $file.Name
'Group' = $file.Group
}
Когда это запускается, я получаю правильные результаты, которые мне нужны, поскольку $file.Name
содержит все имена серверов, а $file.Group
содержит группы для серверов. Однако моя проблема в том, что мне нужно редактировать имена каждого сервера, не мешая файлу .Group
. Вот пример того, как выглядит имя сервера.
WindowsAuthServer @{wdk9870WIN}
Мне нужно удалить WindowsAuthServer @{
и WIN}
из каждого имени сервера, оставив только имя сервера, или, например, wdk9870
.
Я пытался использовать функцию -replace
($tempobj.Name -replace "WindowsAuthServer @{",""
), но для этого требуется сохранить результаты в новый массив, который затем искажает или полностью удаляет .Group
Есть ли другой способ сделать это? Я потерялся.
pscustomobject
, потому что вы используетеImport-Csv
. Вы дважды обрабатываете каждую запись. Кроме того, вы смотрите на строковое представлениеpscustomobject
; строка не является буквальноWindowsAuthServer @{wdk9870WIN}
. КлючWindowsAuthServer
содержит значениеwdk9870WIN
. - person Maximilian Burszley   schedule 18.12.2018