Powershell自定义对象


This data is store in a file
AUTOM01-AYEHU1:No Updates Available
AUTOM01-AYEHU2:No Updates Available
AUTOM01-AYEHU3:No Updates Available
AUTOM01-AYEHU4:No Updates Available
AUTOM01-AYEHU5:No Updates Available
AUTOM01-AYEHU6:No Updates Available


我在一个文件中有一个以上的数据集,我需要创建2个名为(SERVERNAME,STATUS(的powershell自定义对象,并将相应的数据放入其中。

before:是服务器名,rest是状态

如果你真的想要2个对象,这就是答案

$fileLines = @("AUTOM01-AYEHU1:No Updates Available","AUTOM01-AYEHU2:No Updates Available")
$serverArray = [System.Collections.ArrayList]::new()
$statusArray = [System.Collections.ArrayList]::new()
foreach($fileLine in $fileLines)
{
$splittedLine = $fileLine.split(":")
$serverArray.Add([PSCustomObject]@{ServerName=$splittedLine[0]})
$statusArray.add([PsCustomobject]@{Status=$splittedLine[1]})
}

在$serverArray和$statusArray 中找到它们

正如您在上一个问题中所评论的,您可以简单地执行

$result = (Get-Content -Path 'thefile.txt' -Raw) -replace ':', '=' | ConvertFrom-StringData

ConvertFrom-StringData返回一个哈希表,默认情况下,其中的项是无序的
由于您希望将订单保持在输入文件中,因此可能需要使用以下内容:

$result = Get-Content -Path 'D:Testthefile.txt' | ConvertFrom-String -Delimiter ':' -PropertyNames Server, Status

返回PSCustomObjects数组:

服务器状态------------AUTOM01-AYEHU1无可用更新AUTOM01-AYEHU2无可用更新AUTOM01-AYEHU3无可用更新AUTOM01-AYEHU4无可用更新AUTOM01-AYEHU5无可用更新AUTOM01-AYEHU6无可用更新

最新更新