我在這里和那里涉足 PowerShell,但我仍然需要一些作業。我正在嘗試從文本檔案的一行中獲取輸出,以準備使用它遷移到具有相同用戶名庫的另一個域。提取是一個名為“Group-Executives-ronly”的組名,下一組資料是該組中的組和用戶,名為“Group-Executives-ronly”
$variable1 = '"Group-Executives-ronly","Group Approvers for accounts;Wilson, Frank fwilson;Jorden, mike mjorden;smith, David dsmith"'
我只是在實際使用這些資料做其他作業之前顯示結果。我想像這樣列印每一行,但拆分的每次迭代都不適用于用戶名部分。
Group-Executives-ronly
Group Approvers for accounts
fwilson
mjorden
dsmith
我先把它和
$group=$variable1.Split('"')\[1\]
$Userslist=$variable1.Split('"')\[3\]
這給了第一個陣列Group-Executives-ronly和第三個陣列Group Approvers for accounts;Wilson, Frank fwilson;Jorden, mike mjorden;smith, David dsmith
我做了另一個陣列用于拆分;
$Users=$Userslist.Split(';')
這給了我所有的組/用戶像這樣分裂
Group Approvers for accounts
Wilson, Frank fwilson
Jorden, mike mjorden
smith, David dsmith
我喜歡我得到了完整的組名,但我不想要那些用戶的名字,我只需要他們的UID,這可能嗎,我做錯了嗎?所需的輸出是
Group Approvers for accounts
fwilson
mjorden
dsmith
uj5u.com熱心網友回復:
圣地亞哥·斯夸松所說的。
你很接近:從用戶串列中拆分';'后,如果它包含一個','然后拆分空間并獲取最后一項,否則只需獲取整個用戶串列項。
PS /> $variable1 = '"Group-Executives-ronly","Group Approvers for accounts;Wilson, Frank fwilson;Jorden, mike mjorden;smith, David dsmith"'
PS /> $group=$variable1.Split('"')[1]
PS /> $Userslist=$variable1.Split('"')[3]
PS /> $Userslist.split(';') | %{if ($_.contains(',')){$_.split(' ')[-1]} else {$_}}
Group Approvers for accounts
fwilson
mjorden
dsmith
PS />
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/452156.html
