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] +'會,你量化*點*。 –