Powershell嵌套变量

时间:2012-10-27 10:59:53

标签: powershell

Soo尝试做类似以下的事情

$ Computers = Get-Content。\ ~test.txt

ForEach ($Computer in $Computers) {
     $computer.Attempts += 1
     $computer.result = Successful
}

++ EDIT ++ 我想要的输出是

$MyComputerName.Attempt += 1
$MyComputerName.result

这样每台计算机都有自己的名称,在脚本中创建一个基本表,这样它就不必继续从文本文件中读取一些信息。

其中$ computer是文本文件中的计算机名称。我试图这样做,以创建一种更快速的方法来检查贵重物品。

2 个答案:

答案 0 :(得分:0)

如果我关注你,你想为每台计算机创建一个新对象:

$Computers = Get-Content .\~test.txt

ForEach ($Computer in $Computers) {
    New-Object PSObject -Property @{
        Name = $Computer 
        Attempts = 1
        Result = 'Successful'
    }
}

答案 1 :(得分:0)

好吧最终得到了这个东西,如下。 Import-CSV是为每行创建新对象的绝佳工具。

$Computers = @(Import-CSV .\Computers.txt)

ForEach ($Computer IN $Computers) {
    Write-host $Computer.Name
    Write-Host $Computer.IP
    Write-Host $Computer.Other
}

Computers.txt:

52123-9421,123.123.123.123,yea
HELLBOMBS-PC,123.123.123.123,yea
52123-942dv,123.123.123.123,yea
52123-942RM,123.123.123.123,yea