【问题标题】:Power shell using the Trim functionPowershell 使用 Trim 功能
【发布时间】:2017-02-06 07:43:13
【问题描述】:

您好我有以下行来检查来自两个不同系统的变量。

foreach ($val in $stafflist)
    {
     $found = 0
     foreach ($user in $aduser)
     if ((($val.Surname.trim() -eq $user.surname.trim()) -And ($val.'First Name'.trim() -eq $user.Givenname.trim())) -or (($val.Surname.trim() -eq $user.surname.trim()) -And ($val.'Known As'.trim() -eq $user.Givenname.trim())))
      {
       $found = 1
            try
                {
                if ($user.EmployeeID -ne $null) 
                    {

                    $val.'First Name' + " " + $val.'Known As' + " " + $val.surname + " EmployeedID already set as " + $user.EmployeeID | Out-File $outfile -Append 
                                    }

                else
                    {
                    set-aduser -Identity $user -EmployeeID $val.'Person Number'

                    $val.'First Name' + " " + $val.'Known As' + " " + $val.surname + " Employeed set to " + $user.EmployeeID| Out-File $outfile -Append
                                    }
     } ## end of Try
Catch 
     {
      $val.'First Name' +" " + $val.surname + "Can not be updated in AD" | Out-File $outfile -Append 
      }
}

因此,这会检查两个列表($stafflist 和 $aduser)中的每个用户以查找匹配项,并在找到匹配项时使用 HR 数据库中的 ID 更新 Active Directory 中的员工 ID。

问题在于它有一个 or 操作符来说明在 HR 数据库系统中“名字”或“被称为名字”或实际上两者都可能被填写并需要检查的事实。

我想使用 .Trim 函数以防有人留在空白处,但如果我将它放在一个变量上并且该变量最终为空,它会抛出错误,这通常是“已知”的情况作为名称”变量。

谁能建议最有效的方法来检查和修剪每个变量。

在检查它们不为空后,我可以预先修剪所有变量。 或者测试它们是否为空,如果是,则通过不同的测试字符串传递它们以避免错误,但这都意味着更多的代码行和更慢的代码执行速度。

如果有人有一种简洁的方法来实现这一点,我将不胜感激。

【问题讨论】:

    标签: powershell trim


    【解决方案1】:

    最后我只是将它添加到循环的开头

      if ($val.Surname -eq $null){} else {$val.Surname = $val.Surname.trim()}
    if ($val.'First Name' -eq $null){} else {$val.'First Name' = $val.'First Name'.trim()}
    if ($val.'Known As' -eq $null){} else {$val.'Known As' = $val.'Known As'.trim()}
    

    所以它会在早期检查 null 值,如果不是 null 则修剪它并将其存储回变量。

    【讨论】:

      猜你喜欢
      • 2013-11-06
      • 2011-03-26
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      相关资源
      最近更新 更多