SITECORE MANIA 開発者向け技術ブログ

その他

李

Sitecore PowerShell Extensions(SPE)でユーザー情報を一括取得する方法

今回は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のバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。