2016-04-03 11 views
0

Tek bir sistem verirseniz, çalışıyor. Birden fazla sistem verirse, RPC hatası gösteriyor. Sistemimi iki kez verirseniz, o zaman çalışmaz. Herhangi bir fikir?Birden çok sistem için işletim sistemi adını almaya çalıştığım kod aşağıda

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() 

cevap

2

Değişim

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

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

için ve her satırda tek bir isim veriyoruz EĞER bu çıktıyı genereate olacaktır.

+0

Teşekkürler. işe yaradı. –

İlgili konular