PowerShell,异常处理 : Create custom logfile from Set-ADUser

标签 powershell exception active-directory

我正在尝试在自定义日志文件中记录错误,同时对 Active Directory 中的用户进行修改。 代码如下:

Get-ADUser -LDAPFilter "(objectCategory=user)" -SearchScope Subtree -SearchBase $searchBase | Set-ADUser -PasswordNeverExpires 0

当命令遇到错误时,是否可以检查 Set-ADUser 命令是否对每个用户都成功,并将自定义字符串写入自定义日志文件? (例如,访问权限不足)。由于这些错误似乎是非终止的,我不知道如何用 try/catch 解决这个问题。

最佳答案

在此处输入代码您可以尝试使用$error变量来检查在每个PasswordNeverExpires设置期间是否发生错误。

$log = "C:\LogFile.txt"
Get-ADUser -LDAPFilter "(objectCategory=user)" -SearchScope Subtree -SearchBase $searchBase `
    | %{
        $error[0] = $null            
        Set-ADUser -PasswordNeverExpires 0
        If($error[0] -eq $null){
            "User:[" + $_.Name + "] PasswordNeverExpires was set successfully" >> $log
        }
        Else{
            "User:[" + $_.Name + "] PasswordNeverExpires Failed to be set, Error:" >> $log
            $error[0] >> $log
        }
      }

关于PowerShell,异常处理 : Create custom logfile from Set-ADUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188500/

相关文章:

shell - 使用 azure 时,powershell 脚本中的 ' 是什么意思?

powershell - 如何在 Powershell 中使用运行空间建立和进入远程 session

java - 发生异常时如何定位lambda?

windows - 禁用 LDAP 推荐

windows - PowerShell-如何计算对象?

string - Powershell截断字符串

PowerShell 5.1 为什么这两个函数返回不同的类型

ruby-on-rails - 如何让 Rails 异常提供更多信息?

visual-studio-2010 - 保存 Visual Studio 调试 -> 异常设置?

Azure AD Multi-Tenancy + 身份验证过滤最佳实践