在powershell文件中,捕获少量异常并忽略少量异常

时间:2019-04-09 04:24:49

标签: powershell powershell-v2.0

我有一个Powershell脚本文件和一些模块文件。
到目前为止,这些文件中没有任何异常处理。我必须做。
举例来说,这是我的示例ps1文件。

# Add the App-ppol identity to the Administrators group
$Computer    = $env:computername
$AppPoolUserRunas =  $NewServiceAccountName
$AppPoolUser = $NewServiceAccountName -replace "\\", "/"
([ADSI]"WinNT://$Computer/Administrators,group").psbase.Invoke("Add",([ADSI]"WinNT://$AppPoolUser").path)

SomeotherCommand here 2
Someother command here 3
.
.
.

为此,我正在尝试实现try catch。所以我做了类似的事情。

try
{

# Add the App-ppol identity to the Administrators group
$Computer    = $env:computername
$AppPoolUserRunas =  $NewServiceAccountName
$AppPoolUser = $NewServiceAccountName -replace "\\", "/"
([ADSI]"WinNT://$Computer/Administrators,group").psbase.Invoke("Add",([ADSI]"WinNT://$AppPoolUser").path)  # say this as command 1

SomeotherCommand here 2
Someother command here 3
.
.
.
}
Catch
{
   write-output "Error in File1: $_.Exception.Message" 
}

现在这是在做什么,对于每个异常,它都在终止执行。
假设我要忽略一些异常,例如如果用户已经在appPool中,则第一个命令会给出异常。我需要忽略此类异常并继续。但是我想让它写在控制台上。

是否有任何可能的方法可以做到这一点。假设我有5个命令正在文件中执行。
命令1:即使发生异常也要继续。
命令2:捕获异常并停止执行。
命令3:捕获异常并停止执行。
命令4:即使发生异常也要继续。
命令5:捕获并终止。

在此问题上的任何帮助都将受到高度赞赏。

0 个答案:

没有答案