更新AD信息字段中的一行

时间:2016-11-25 16:08:22

标签: regex powershell

我有一点问题。

我们有一个PowerShell脚本,用于设置'注释中的到期日期:' AD中的字段。

我想要做的是能够移除/更新此字段而不删除字段中的其他数据。

'注释示例:'字段(例如用户X):

GR1234567890 expires on 20251125
END

如果我使用以下代码尝试隔离除GR之外的所有内容。

$UserName = Get-ADUser -Filter {SAMAccountName -eq "X"} -Properties Info
$UserName.Info | Select-String -Pattern 'GR[\s\S].+' -NotMatch

我得到一个完整的比赛"根本没有输出。

如果我删除-NotMatch,我会得到一个完整的匹配和完整的输出'注意:'字段。

我已经在一些RegEx在线测试人员中尝试过RegEx,并且按预期工作。就像在遍历管道时输出上没有LF / CR或一些奇怪的编码......

我可以做一场比赛GR,一个日期以及介于两者之间的所有事情......但是为了知识而想知道上述想法是不可能还是完全错误(RegEX不是我最强的套装)。 / p>

1 个答案:

答案 0 :(得分:1)

问题确实是Wiktor所指出的代码本身。他的帽子。

$UserName.Info -Replace '^GR.+'

将删除我想删除的行。