2016-04-03 11 views
0

1つのシステムに与えると、動作しています。私は複数のシステムを与える場合、それはRPCエラーを示しています。もし私のシステムを2回与えても、それは動作していません。何か案が?以下は、複数のシステムのオペレーティングシステム名を取得しようとしているコードです。

Function Get_Systeminfo() { 
    $TxtBox.Visible = $false 
    $ColName = @{Expression={$_.CSNAME};Label="SERVER NAME"}, 
       @{Expression={$_.Caption};Label="OS NAME"; width =25}, 
       @{Expression={$_.OSArchitecture};Label="OS TYPE"} 

    $ResBox = New-Object System.Windows.Forms.RichTextBox 
    $ResBox.Location = New-Object System.Drawing.Size(50,50) 
    $ResBox.Size = New-Object System.Drawing.Size(480, 280) 
    $ResBox.Font = "lucida console" 
    $objForm.Controls.Add($ResBox) 

    $ResBox.Text = foreach ($list in $TxtBox.Text) { 
     Get-WmiObject Win32_OperatingSystem -ComputerName $list | 
      Format-Table $ColName -Auto | Out-String 
    } 
} 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "SystemInfo" 
$objForm.Size = New-Object System.Drawing.Size(600,400) 
$objForm.StartPosition = "CenterScreen" 

$TxtBox = New-Object System.Windows.Forms.TextBox 
$TxtBox.Location = New-Object System.Drawing.Size(20, 20) 
$TxtBox.Size = New-Object System.Drawing.Size(300,100) 
$TxtBox.Multiline = $true 
$objForm.Controls.Add($TxtBox) 

$OKButton = New-Object System.Windows.Forms.Button 
$OKButton.Location = New-Object System.Drawing.Size(20,340) 
$OKButton.Size = New-Object System.Drawing.Size(75,23) 
$OKButton.Text = "OK" 
$objForm.Controls.Add($OKButton) 

$OKButton.Add_Click({Get_Systeminfo}) 

$objForm.ShowDialog() 

答えて

2

変更

$ResBox.Text = foreach ($list in $TxtBox.Text){ 

$ResBox.Text = foreach ($list in $TxtBox.Lines){ 

に、あなたは行ごとに単一の名前を与えている場合は、出力をgenereateます。

+0

ありがとうございました。出来た。 –