【发布时间】:2018-11-30 02:12:56
【问题描述】:
我有以下 cmdlet
function Service-Stop
{
[cmdletbinding()]
param(
[Parameter(Mandatory=$true)][ValidateScript({$_ -match [IPAddress]$_ })][string]$Address,
[Parameter(Mandatory=$true)][string]$Name,
[Parameter(Mandatory=$true)][System.Management.Automation.PSCredential]$Credential
)
try
{
$wmi = Get-WmiObject -ComputerName $Address -Credential $Credential -Class Win32_Service -Filter "Name='$Name'"
if($wmi)
{
$wmi.stopservice()
}
}
catch
{
Write-Output "ErrorDetails: $_"
}
}
我的理解是,每当调用Get-WmiObject 引发异常时,我的catch 块将被执行,然后我可以将输出通过管道传输到日志文件。问题是,当我从脚本中调用此 cmdlet 时,异常消息会显示在控制台上。
我不想那样。我希望在 catch 块中实现异常详细信息。
你能告诉我怎么做吗?
【问题讨论】:
-
查看是否可以将异常记录到文件here。
-
@VivekKumarSingh 我想禁止在控制台上打印异常消息。
标签: powershell