我们的sitecore系统中有超过20万用户。我需要导出符合特定条件的用户列表。我正在使用PowerShell脚本,我正在使用get-user命令来检索用户。然后我循环浏览用户列表并选择符合我标准的列表;在我的情况下,那些年龄大于18的用户。然后我使用export-csv将结果写入一个csv文件。我发现这需要花费1.5个小时才能完成。Sitecore powershell get-user命令
我的问题是,有没有一种方法可以做一个获得用户并指定我的年龄大于18岁的标准?字段时间存储在自定义属性中。另外,还有其他有效的方法(除了PowerShell)来完成我想要做的事情吗?
这里是原代码:
function export($user)
{
$age = $user.profile.GetCustomProperty("age")
if{$age -gt 18)
{
$id = $user.profile.GetCustomProperty("id")
$firstname = $user.profile.GetCustomProperty("first name")
$user | select-object -property @{Name="First Name";Expression={$firstname}},
@{Name="Age";Expression={$age}},
@{Name="ID";Expression={$id}} |
Export-CSV -Path c:\temp\out.csv -Append -NoTypeInformation
}
}
$users = get-user -Filter *
if($users -ne $null)
{
$users | foreach {export($_)}
}
您能否提供一个示例脚本来显示您现在要做什么来查询用户和过滤器? – Coding101
感谢您的代码。我用一个适合你的例子更新了我的回答。这些键对于自定义属性是区分大小写的。 – Coding101