使用Powershell识别混合大小写的用户ID(上部和下部)

时间:2016-05-26 19:44:10

标签: powershell uppercase lowercase

我有一个学生证的csv创建错误。他们有Upper First Initial,第二个First Initial,Upper Last Initial。我需要能够在包含大约4,500个用户ID的csv中找到这些,并且最终可能是AD中的所有用户ID。我知道如何重命名和纠正它们。我只需要快速找到它们而无需手动读取和单独定位每个名称。我确定它与找到一个数组有关[A-Z] ^ [a-z] ^ [A-Z]我刚刚失败了。
对此有任何帮助将非常有帮助!

NSString *filePath = [bgsBundle pathForResource:@"someImage" ofType:@"png"];

3 个答案:

答案 0 :(得分:1)

如上所述,还没有足够的信息来提供更详细的答案,但你可能会尝试这样的事情

$names = @'
John jacob Jingleheimer
elaine Hall Ramos
James Morrison dixon
Margie Lee Gonzales
'@.Split("`n")

$names | % {
    if ($_.Split(' ') | ? {$_[0] -cmatch '^[a-z]'}) {
        Write-Output $_
    }
}

这是另一种方法

$names | ? {$_ -cnotmatch '(?:[A-Z].*){3}'}

答案 1 :(得分:0)

{$ .department-like" * KG *" -and $ .SamAccountName -cmatch'(?:[A-Z] [a-z] [A-Z]。* 3)'} 这只导出了具有大写,小写,大写用户名即SuJones的用户帐户,并忽略了SJones。

答案 2 :(得分:0)

您必须修改where子句,如下所示。

Where {($_.department -like "*KG*") -and ($_.SamAccountName -cmatch '(?:[A-Z][a-z][A-Z].*3)')}