我有一点问题。
我们有一个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>
答案 0 :(得分:1)
问题确实是Wiktor所指出的代码本身。他的帽子。
$UserName.Info -Replace '^GR.+'
将删除我想删除的行。