导出Csv MIM FIM PowerShell问题
我被要求检索一个包含所有注册到FIM门户的用户的.csv列表。我进行了一些搜索,直到无意中发现了以下脚本:导出Csv MIM FIM PowerShell问题,powershell,Powershell,我被要求检索一个包含所有注册到FIM门户的用户的.csv列表。我进行了一些搜索,直到无意中发现了以下脚本: set-variable -name URI -value "http://localhost:5725/resourcemanagementservice' " -option constant set-variable -name CSV -value "RegistredResetPassUsers.csv" -option constant clear If(@(Get-P
set-variable -name URI -value "http://localhost:5725/resourcemanagementservice' " -option constant
set-variable -name CSV -value "RegistredResetPassUsers.csv" -option constant
clear
If(@(Get-PSSnapin | Where-Object {$_.Name -eq "FIMAutomation"} ).count -eq 0) {Add-PSSnapin FIMAutomation}
$WFDFilter = "/WorkflowDefinition[DisplayName='Password Reset AuthN Workflow']"
$curObjectWFD = export-fimconfig -uri $URI –onlyBaseResources -customconfig ($WFDFilter) -ErrorVariable Err -ErrorAction SilentlyContinue
$WFDObjectID = (($curObjectWFD.ResourceManagementObject.ResourceManagementAttributes | Where-Object {$_.AttributeName -eq "ObjectID"}).value).split(":")[2]
$Filter = "/Person[AuthNWFRegistered = '$WFDObjectID']"
$curObject = export-fimconfig -uri $URI –onlyBaseResources -customconfig ($Filter) -ErrorVariable Err -ErrorAction SilentlyContinue
[array]$users = $null
foreach($Object in $curObject)
{
$ResetPass = New-Object PSObject
$UserDisplayName = (($Object.ResourceManagementObject.ResourceManagementAttributes | Where-Object {$_.AttributeName -eq "DisplayName"}).Value)
$ResetPass | Add-Member NoteProperty "DisplayName" $UserDisplayName
$Users += $ResetPass
}
$users | export-csv -path $CSV
除了它导出的实际列表只包含我的显示名之外,脚本工作时没有错误。我一直在试图弄清楚为什么它不能导出所有用户的完整列表,并且只显示我的名字,但我一直无法弄清楚,所以我想知道是否有人可以帮助我了解这个问题
再次感谢你们提供的帮助 没有使用此管理单元/产品的经验,但鉴于代码基本上是有效的(它返回您的对象),这可能是一个权限问题。您可能无法读取其他用户对象,因此它们不会向您公开 如果您可以在某种类型的UI控制台中查看它们,那么请检查与API操作相关的单独权限,并确保您可以通过这种方式进行访问。 另一种做法可能是逐行运行代码,查看每一行的结果,以确保得到预期结果。尝试替换:
[array]$users = $null
与:
这可能是由于权限设置造成的 默认情况下,您有查看自己属性的权限 可能存在一些管理策略规则设置,因此特定集合中的用户帐户可以读取其他用户的AuthNWFRegistered属性,以支持疑难解答和客户支持 您需要使用以下选项之一:
- 将用于此脚本的帐户添加到已委派此读取权限的集合中
- 为此特定报告创建一个单独的MPR(这是我的建议),该MPR授予特定用户帐户读取AuthNWFRegistered属性的权限
Set-ResourceManagementClient -BaseAddress 'http://localhost:5725/resourcemanagementservice'
$scope = Search-Resources -XPath "/Person[AuthNWFRegistered = /WorkflowDefinition[DisplayName='Password Reset AuthN Workflow']]" -ExpectedObjectType Person
$scope | select DisplayName | Export-Csv 'RegistredResetPassUsers.csv' -Encoding Unicode
在最后一行中获取此错误。我相信这是指我没有收到任何信息<代码>导出Csv:无法将参数绑定到参数“InputObject”,因为它为空。在第23行,字符:10+$users |导出csv-路径$csv-编码默认值+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,Microsoft.PowerShell.Commands.ExportCsvCommand可能您没有在数组中正确存储用户对象。执行此操作后,我不再在第23行收到错误,但导出的.csv文件为空。。。我不理解X_X。在将结果存储到数组中之前,请逐个运行每一行,以确认代码在该部分之前工作正常。
Set-ResourceManagementClient -BaseAddress 'http://localhost:5725/resourcemanagementservice'
$scope = Search-Resources -XPath "/Person[AuthNWFRegistered = /WorkflowDefinition[DisplayName='Password Reset AuthN Workflow']]" -ExpectedObjectType Person
$scope | select DisplayName | Export-Csv 'RegistredResetPassUsers.csv' -Encoding Unicode