а я думаю. какого хрена, если он выдает массив в вывод, но не хочет его в переменную сувать
Вот! Дарю, заготовку
что не сделаешь, лишбы не работать
function Get-ParamFromCmd
{
[CmdletBinding()]
[OutputType([PSObject])]
Param
(
[Parameter(Mandatory=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromPipeline=$true,
Position=0)]
[ValidateNotNullOrEmpty()]
[string]$Line,
[ValidateNotNullOrEmpty()]
[string]$Match = "(\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)"
)
Begin
{
if($Debug) { $debugPreference = "Continue" }
if($Verbose) { $VerbosePreference = "Continue" }
Write-Verbose "Шаблон: $($Match)"
}
Process
{
if($Line -match $Match)
{
Write-Verbose "Совпадение найдено"
New-Object -TypeName PSObject -Property @{
ID = $Matches[1]
ATTRIBUTE_NAME = $Matches[2]
FLAG = $Matches[3]
VALUE = $Matches[4]
WORST = $Matches[5]
THRESH = $Matches[6]
TYPE = $Matches[7]
UPDATED = $Matches[8]
WHEN_FAILED = $Matches[9]
RAW_VALUE = $Matches[10]
}
}
}
end
{
}
}
$txt -split "`n" | Get-ParamFromCmd
$Array = $txt -split "`n" | Get-ParamFromCmd