我們的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