[void](New-VM -Name $serveur -Template $template -vmhost $vmhost -datastore $datastore.name -description $description -errorvariable erreur -erroraction silentlycontinue)
嗨,我正试图用`来分割这一行。它没有[void]
。它不适用于[void]
。
我错过了什么?
答案 0 :(得分:3)
如果只是考虑使用更清晰的代码,请考虑使用splatting而不是反引号/续行。
$newVMArguments = @{
Name = $serveur
Template = $template
vmhost = $vmhost
datastore = $datastore.name
description = $description
errorvariable = "erreur"
erroraction = [Management.Automation.ActionPreference]::SilentlyContinue
}
[void](New-VM @newVMArguments)
在这种情况下, Out-Null
也可以正常工作。 Splatting使代码更容易管理,然后不得不处理反引号等。
答案 1 :(得分:2)
如何使用Out-Null
代替:
New-VM -Name $serveur `
-Template $template `
-vmhost $vmhost `
-datastore $datastore.name `
-description $description `
-errorvariable erreur `
-erroraction silentlycontinue | Out-Null
答案 2 :(得分:1)
Matt's helpful answer显示splatting是使用`
的换行符的高级替代方法,boxdog's helpful answer显示为Out-Null
的管道,作为转换为[void]
的替代方法。< / p>
转换为[void]
以取消命令的输出需要将其封装在(...)
分配给$null
,另一种选择,避免这种尴尬:
$null = NewVM -Name $serveur `
-Template $template `
...
但是,只是为了表明仍然可以使用基于[void]
的解决方案:
[void] (Get-Date `
-Uformat %s
)