【发布时间】:2018-04-24 19:18:00
【问题描述】:
我有一个 .csv 文件,其中包含整个共享邮箱的邮箱委托权限。文件将包含两列,其中提到了电子邮件地址。 IE。谁对哪些邮箱有权限。
例如ColA = 共享邮箱,ColB = 用户邮箱。
ColA. --- ColB
S1 --- User1
S1 --- User2
S1 --- User3
S2 --- User1
S2 --- User4
S3 --- User3
User1 --- S3
S4 --- User5
S4 --- User6
S5 --- User5
User6 --- S5
要求是通过创建一个多列来批量命名它们。
例如
ColA --- ColB. ---ColC
S1 --- User1 ---Batch1
S1 --- User2 ---Batch1
S1 --- User3 ---Batch1
S2 --- User1 ---Batch1
S2 --- User4 ---Batch1
S3 --- User3 ---Batch1
User1 --- S3 ---Batch1
S4 --- User5 ---Batch3
S4 --- User6 ---Batch3
S5 --- User5 ---Batch3
User6 --- S5 ---Batch3
Batch1、2,3 等批次中的命名基于下面解释的逻辑。
看上面例如 User1,2,3 可以访问 S1,因此它将是 Batch1。
User1 再次可以访问 S2,因此它将进入 Batch1,因为它已经存在于 Batch1 中。
User4 可以访问 S2,因此它将进入 Batch1,因为 S2 以前存在于 Batch1 中
以同样的方式,所有其他用户都可以访问邮箱,并且应该通过创建上述逻辑进行批处理。
我尝试通过使用循环并将它们存储到变量中然后使用比较对象来编写代码。但它对我没有帮助。
根据我的理解,我已经写了一半的代码。
$csv = import-csv c:\permlist.csv
$compare = compare-object $csv.colA
$csv.ColB -includeequal Foreach ($x in $compare.name) if
($compare.sideindicator -eq "=>")
{write-output "Exist in column B"} else {write-output "exist in column A"}
【问题讨论】:
-
“我尝试通过使用循环并将它们存储到变量中然后使用比较对象来编写代码。但这对我没有帮助。” - 请发布您的尝试(即使不成功)
-
您的列表示看起来有点混乱,
---for 是什么? -
为此道歉。这是我的代码 $csv = import-csv c:\permlist.csv $compare = compare-object $csv.colA $csv.ColB -includeequal Foreach ($x in $compare.name) if ($compare.sideindicator -eq "=>") {write-output "存在于 B 列"} else {write-output "存在于 A 列"}
-
@LotPings 可以忽略。它只是格式化。我真的不知道如何在发布时发布和格式化表格。这个社区的新手......;)
-
请edit您的问题包含您的代码。
标签: powershell exchange-server-2010