输出的 Powershell 分割线
Powershell splitting line from output
我到处涉猎 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/users 分裂,就像这样
Group Approvers for accounts
Wilson, Frank fwilson
Jorden, mike mjorden
smith, David dsmith
我喜欢我得到了完整的组名,但我不想要那些用户的名字,我只需要他们的 UID
,这可能吗,我做错了吗?所需的期望输出是
Group Approvers for accounts
fwilson
mjorden
dsmith
说了什么。
你很接近:在拆分为“;”后的用户列表中,如果它包含“,”,则在 space 上拆分并获取最后一项,否则只获取整个用户列表项。
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 />
我到处涉猎 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/users 分裂,就像这样
Group Approvers for accounts
Wilson, Frank fwilson
Jorden, mike mjorden
smith, David dsmith
我喜欢我得到了完整的组名,但我不想要那些用户的名字,我只需要他们的 UID
,这可能吗,我做错了吗?所需的期望输出是
Group Approvers for accounts
fwilson
mjorden
dsmith
你很接近:在拆分为“;”后的用户列表中,如果它包含“,”,则在 space 上拆分并获取最后一项,否则只获取整个用户列表项。
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 />