我想将Exchange Online中的所有共享邮箱与Azure Sec组中的成员进行比较,并导入Azure Sec组中的差异。我相信它在最后3行的某个地方失败了。这是一个备份解决方案,我不是代码的创建者。
Get-EXORecipient-ResultSize无限-RecipientType详细信息“SharedMailbox”|选择主SMTPAddress|导出-CSV“C:\Users\mnym\Downloads\Sharedmailboxes\sharedmailboxes.csv”
$GroupMembership=Get-AzureADGroupMember-OBJECTID“GROUP ID”-TOP 10000|选择对象@{Name=“PrimarySMTPAddress”;Expression={$.userprincipalname}}|导出-csv“C:\Users\mnym\Downloads\Sharedmailboxes\Groupmembership.csv”
$FILE1=导入-csv路径“C:\Users\mnym\Downloads\Sharedmailboxes\sharedmailboxes.csv”
$FILE2=(导入-csv-路径“C:\Users\mnym\Downloads\Sharedmailboxes\Groupmembership.csv”).PrimarySMTPAddress
$文件1|其中对象{$.PrimarySMTPAddress-noin$File2}|导出csv路径“C:\Users\mnym\Downloads\sharedmailboxes\difference.csv”
$DIFF=导入csv路径“C:\Users\mnym\Downloads\sharedmailboxes\difference.csv”
Csv文件被填充并格式化为A#类型Selected.System.Management.Automation.PSCustomObject PrimarySmtpAddress x@Domain.com
$UserObjectID=导入csv路径“C:\Users\mnym\Downloads\sharedmailboxes\difference.csv”|ForEach对象{Get-azuRead用户-搜索字符串$.PrimarySmtpAddress}
$USEROBJECTID|SELECT OBJECTID|导出csv路径“C:\Users\mnym\Downloads\sharedmailboxes\userobjectid.csv”
在执行上述命令后,文件userobjectid.csv为空:(
IMPORT-CSV-PATH“C:\Users\mnym\Downloads\sharedmailboxes\userobjectid.csv”|为每个对象{Add-AzureADGroupMember-OBJECTID“组ID”-引用OBJECTID$.OBJECTID}
我试图导入Difference.csv,但我无法接缝以获得与CSV匹配的RefObjectID,我得到“无法将实参绑定到参数‘RefObjectId’,因为它为空”。
1条答案
按热度按时间bjp0bcyl1#
不要将您的文件系统用作变量注册表--不需要将数据写入CSV文件,只需将其直接读回内存:)
您的代码可能非常简单: