我有一个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:捕获并终止。
在此问题上的任何帮助都将受到高度赞赏。