Я пытаюсь заменить строку внутри объекта. Однако, поскольку мне удалось это сделать, у меня такое поведение, что каждый отдельный объект теперь является массивом.
мой Код до сих пор
$hash = @{
SRVNamex = "place1"
SRVNamey = "place2"
SRVNamez = "place3"
}
$printers = Get-ADObject -LDAPFilter "(objectCategory=printQueue)" -Properties * | select printerName, shortServerName, location, description, uncname, drivername #| Format-Table -Property *
$f = foreach($printer in $printers){
$pn = $printer.shortServerName
if($hash.ContainsKey($pn)){
$printer = $printer -replace $pn, $hash[$pn]
}else{
}
$printer
}
Мой ввод выглядит так
printerName shortServerName location description uncname drivername
HPRT04 SRVNamex xxxx xxxxx xxxxx Datamax-O'Neil
P11 SRVNamey EDV xxx xxxx Zebra
Вывод должен выглядеть так:
printerName shortServerName location description uncname drivername
HPRT04 palce1 xxxx xxxxx xxxxx Datamax-O'Neil
P11 palce2 EDV xxx xxxx Zebra