簡體   English   中英

修剪 Powershell OutPut

[英]Trim Powershell OutPut

要求是修整 Output。 僅保留名稱中雙引號內引用的 output 並刪除/避免較早的行/字符

從:

$R.Output = \\GBVServer1\root\cimv2:Win32_Group.Domain="Contoso",Name="Domain Users"

$R.Output = \\GBVServer1\root\cimv2:Win32_SystemAccount.Domain="GBVServer1",Name="INTERACTIVE"

至:

$R.Output = Domain Users

$R.Output = INTERACTIVE

有人可以協助使用 powershell 開關嗎?

您可以使用正則表達式執行此操作,以僅捕獲這些字符串的引號之間的名稱部分:

$regex = [regex]'(?i)Name="([^,]+)"'

$string = '\\GBVServer1\root\cimv2:Win32_Group.Domain="Contoso",Name="Domain Users"'
$R.Output = $regex.Match($string).Groups[1].Value  # --> Domain Users

$string = '\\GBVServer1\root\cimv2:Win32_SystemAccount.Domain="GBVServer1",Name="INTERACTIVE"'
$R.Output = $regex.Match($string).Groups[1].Value  # --> INTERACTIVE

正則表達式詳細信息:

Name="      Match the characters “Name="” literally
(           Match the regular expression below and capture its match into backreference number 1
   [^,]     Match any character that is NOT a “,”
      +     Between one and unlimited times, as many times as possible, giving back as needed (greedy)
)
"           Match the character “"” literally

(?i)使匹配不區分大小寫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM