今回はSitecore PowerShell Extensions(SPE)を利用し、Sitecore管理画面からユーザー情報を一括取得する方法を紹介します。
Sitecore PowerShell Extensions (SPE)について
SPEはSitecore(サイトコア)の拡張機能であり、
SPEをインストールすることで、PowerShellを利用したSitecoreデータ操作が可能になります。
インストール方法は以下のページを参考にしてみてください。
https://doc.sitecorepowershell.com/installation
インストールが完了すると以下のようにLaunchPadにPowerShell ISEのアイコンが表示されます。
こちらのアプリで今回のPowershellスクリプトを実行します。
ユーザー情報の一括取得
前述のPowerShell ISEに下記のコードを入力し、「実行」ボタンをクリックします。
#ユーザードメインがad、ユーザー名の先頭が「testuser」から始まるユーザーを一括取得する
#検索範囲をドメインのみで限定する場合、-Filter "ad\*"で、全ユーザーを検索する場合-Filter *でフィルターを設定します
$allUsers = Get-User -Filter "ad\testuser*"
#検索結果から出力したいユーザー情報をShow-ListViewメソッドで出力する
#出力項目:アカウント名 ドメイン 氏名 メールアドレス 最終アクティブ日時 管理者権限
$allUsers|Show-ListView -Property Name,Domain,
@{Label = "氏名"; Expression={ $_.Profile.FullName}},
@{Label = "メールアドレス"; Expression={ $_.Profile.Email}},
@{Label = "最終アクティブ日時"; Expression={ $_.Profile.LastActivityDate}},
@{Label = "管理者権限"; Expression={ $_.IsAdministrator}} -Title "ユーザー情報一覧"
実行完了後、画面に「ユーザー情報一覧」が表示され、ユーザー情報が出力されました。
画面左上のエクスポート機能から出力結果をExcelなどの形式でダウンロードすることもできます。
おまけに
今回のユーザー情報一括取得処理テストで使用した、Powershellでテストユーザーを一括作成・一括削除する方法も記載します。
様々な場面でお役に立てれば幸いです。
テストユーザーの一括作成
#ユーザードメインがad、ユーザー名の先頭が「testuser」から始まるユーザーを50名作成する
#ユーザードメインの設定
$domain = "ad\"
$userNameHead = "testuser"
for ($counter = 1;$counter -le 50;$counter ++)
{
$newUserName = $domain+$userNameHead+$counter
$newUserMail = $userNameHead+$counter+"@lyzon.co.jp"
#アカウント名、パスワード、ユーザー名、メールアドレスを設定し、ユーザー作成
New-User -Identity $newUserName -Enabled -Password b -FullName "テスト 太郎" -Email $newUserMail
}
テストユーザーの一括削除
#ユーザードメインがad、ユーザー名の先頭が「testuser」から始まるユーザーを一括削除する
Get-User -Filter "ad\testuser*"| Remove-User
以上になります。
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。