我在连接到live @ edu的olSync服务器上使用PowerShell 2.0。我正在尝试使用try / catch语句。
为了在live @ edu服务器上运行,我们必须运行一个使用Import-PSSession命令的脚本。
我遇到的问题是try / catch语句在连接到其他会话之前工作正常但在连接之后错误没有被捕获并且显示为正常情况。
(我的意思是完美的工作是他们没有出现,我的用户更友好的回应显示)
我错过了什么?我根本不理解PSSession命令吗?
连接代码(出于显而易见的原因,我没有提供凭据)
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred
-Authentication Basic -AllowRedirection
Import-PSSession $Session
我正在测试的示例代码
$count = 0
$name = "quit"
$x
do
{
try
{
$name = Read-Host 'What is the username?'
$x = get-mailbox $name
write-host $x
}
catch
{
Write-Host "Oh No!`n $error[0].exception"
$count++
}
}
while ($name -ne "quit")
write-host "$count errors happened"
连接时输出
What is the username?: test
test, test
What is the username?: test2
The operation couldn't be performed because object 'test2' couldn't be found on ...
What is the username?: quit
The operation couldn't be performed because object 'quit' couldn't be found on ...
0 errors happened
test
。
未连接时输出
用户名是什么?:test
哦不! 术语“获取邮箱”不被识别为cmdlet,函数,脚本文件的名称,>或可操作的程序。检查名称的拼写,或者如果包含路径,请验证
路径是正确的,然后再试一次。术语“获取邮箱”
不被识别为cmdlet,函数,脚本文件或可操作程序的名称 检查名称的拼写,或者如果包含路径,请验证
路径是正确的,然后再试一次。[0] .exception