2017-08-30 46 views
0

對不起代碼太長,它不會讓我張貼不把更多的細節,但它很長的編號已經作出的細節我的腳本輸出「假」

這裏一個巨大的段落是鏈接到powershel腳本其從technet.microsoft:

https://gallery.technet.microsoft.com/scriptcenter/LAPSpass-Standalone-LAPS-7fa3a5aa#content

+1

請發佈腳本 –

+0

對不起,代碼是大到後,它不會讓我沒有把很多細節,但這是我從https://gallery.technet.microsoft.com/scriptcenter/LAPSpass-Standalone-LAPS -7fa3a5aa·C意圖 – Drekko

回答

0

看到假的(或輸出寫入任何其他值)會從一些返回一些值方法的回報,你可以看到他們在你的代碼結束()或()中的一個變量。 PowerShell會將值寫入屏幕,除非將其分配給變量。 下面的例子默認在$ form.ShowDialog()中返回False;

$form = New-Object system.Windows.Forms.Form 
$form.Text = "This is a Form" 
$form.Width = 360 
$form.Height = 300 
$form.MaximizeBox = $false 
$form.MinimizeBox = $false 
$form.FormBorderStyle='FixedSingle' 
$form.StartPosition = 'CenterScreen' 

$groupBox = New-Object System.Windows.Forms.GroupBox 
$groupBox.Location = New-Object System.Drawing.Size(10,10) 
$groupBox.size = New-Object System.Drawing.Size(200,50) 
$groupBox.text = "This is a groupbox" 
$groupBox.Add_Click({ 
    $form.Close(); 
}); 

$form.Controls.Add($groupBox); 
$form.ShowDialog(); 

解決您的問題,您可以添加[空]中的任何方法前有來無回的輸出到屏幕像

[void]$form.ShowDialog(); 

或者,分配一個變量

$result = $form.ShowDialog(); 
+0

嘿感謝一堆,我有一些這些:'$ ComputerNameInput.Focus()'我把'[無效]'在它的前面,它現在停止說錯誤。但腳本中有很多'$ ComputerNameInput.Focus()'代碼,但是我不得不修改其中的一個,並且它不再輸出false – Drekko

+0

除非打算使用它,否則我不會將其分配給變量。 IMO'$ form.ShowDialog()| Out-Null'或'$ form.ShowDialog()> $ null'是最好的。 – Raziel

+0

@Raziel鑄造到'[void]'不是一個賦值,它實際上比管道到'Out-Null'或者重定向到'$ null'要快。 –