Вы можете вывести значение объекта, используя точечные обозначения.
$var.Access.IdentityReference
или этот ..
$($var.Access).IdentityReference
Что касается этого ...
получить значение каждого атрибута отдельным способом ...
что это значит?
Если вы хотите отделить эти два элемента значений друг от друга ...
attribute1: value1
attribute2: value22
attribute3: value33
attribute4: value44
attribute1: value2
attribute2: value222
attribute3: value333
attribute4: value444
...
Вы можете разделить на ':' и выбратьнужное вам положение.
$DBValues = @'
attribute1: value1
attribute2: value22
attribute3: value33
attribute4: value44
attribute1: value2
attribute2: value222
attribute3: value333
attribute4: value444
'@
$DBValues -split ': '
Или выберите значение, используя RegEx ... Пример:
# Grab the string value based on the match
[regex]::Matches($DBValues,'\svalue.*').Value
# Grab the string value after the match
[regex]::Matches($DBValues,'(?<=attribute.*[:]\s).*?(?=\s)').Value
Что касается этого ...
назначьте их переменной Powershell
... вы не можете передавать данные, пока не настроите их в своем скрипте в
param
(
[Parameter(mandatory=$true, ValueFromPipeline=$true)]$InputObject,
[Parameter(mandatory=$true)]$FileName
)
...