重新启动悬挂的PowerShell脚本

时间:2019-11-26 04:52:22

标签: powershell office365

我编写了一个程序,该程序必须运行许多PowerShell脚本。问题在于这些脚本有时只是挂起而什么也不做。这会导致多个问题,首先,这意味着程序只是永远处于等待状态,而主要问题是我有来自不同来源的数据链接到这些脚本。

例如,假设我的数据库中有一个联系人,而Office 365中也有一个联系人。用于删除数据库联系人的脚本可以正常运行,但有时Powershell脚本无法运行。意味着该联系人不再在系统中列出,但实际上仍在office 365中。

有没有一种方法可以检测脚本是否挂起,如果挂起,请重新启动该脚本?

这是我正在使用的PS脚本示例:

import-module .\VIS-AD-Functions.ps1
$Data = Get-Content -Raw ".\contactsdb\code\scripts\data\data.json" | ConvertFrom-Json
$CredData = Get-Content -Raw ".\contactsdb\code\scripts\data\creddata.json" | ConvertFrom-Json
$MSCredentials = Get-StoredCredential -UserName $CredData.cred
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 
https://outlook.office365.com/powershell-liveid/ -Credential $MSCredentials -Authentication Basic -AllowRedirection
Import-PSSession $Session
foreach ($Dat in $Data) {
    Remove-MailContact -Identity $Dat.identity -Confirm:$false
}

谢谢!

0 个答案:

没有答案