0
我遇到轻微问题。更新AD信息字段中的一行
我们有一个PowerShell脚本,用于在AD的'Notes:'字段中设置到期日期。
我想要做的是能够删除/更新此w/o删除该领域的其他数据。的
实施例“注意:”字段(即用户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,我会得到一个完整匹配和'Notes:'字段的完整输出。
我已经尝试了一些RegEx在线测试人员的RegEx,那里它的工作方式和预期的一样。它就像是在穿越管道时在输出上没有LF/CR或一些奇怪的编码...
我可以做一个匹配的GR,一个日期和一切之间我猜...但是id喜欢知识为了知道上述想法是不可能的还是完全错误的(RegEX不是我最强的诉讼)。
要在字符串/行的开头匹配'GR',请使用'^ GR''。 GR [\ s \ S]。+''匹配字符串中任意位置的'GR','[\ s \ S]'匹配任何char和'。+'匹配任何1+个字符。但是,问题出在Powershell代码上。 –
我认为[\ s \ S]会匹配任何空格和无空格字符“永远”(+),直到LF或CR(。)出现? – Jonas
不,'GR [\ s \ S] +'会,你量化*点*。 –