У меня есть следующий командлет
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: $_"
}
}
Насколько я понимаю, всякий раз, когда при вызове * 1004 выдается исключение, мой блок catch будет выполняться, и я затем смогу направить вывод в файл журнала.Проблема в том, что когда я вызываю этот командлет из моего скрипта, на консоли отображается сообщение об исключении.
Я не хочу этого.Я хочу, чтобы информация об исключении выводилась как реализовано в блоке catch.
Можете ли вы сказать мне, как это сделать?