2017-08-30 34 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'要快。 –