Quest Softwareから
PowerShell Cmdlets for Active Directory
というアプリケーションが無償公開されています。このアプリケーションを用いる事により、PowerShell上から簡単にActive Directoryを操作する事が出来るようになります。現時点の最新バージョンは1.07です。
Cmdlet(コマンドレット)とはPowerShell謹製のコマンドの事ですが、独自に追加する事が可能です。
と
ActiveRoles Management Shell for Active Directory - Administrator's Guide
をダウンロードします。Administrator’s Guideの方は英語のPDF形式のファイルです。
ActiveRoles Management Shell for Active DirectoryをインストールしたらPowerShell上から
get-command -pssnapin quest*
もしくは
get-command *qad*
と入力すればコマンドレットの一覧を表示させる事が出来ます。ActiveRoles Management Shell for Active Directoryに搭載されているコマンドレットは以下の通りです。
Add-QADGroupMember
Add-QADPasswordSettingsObjectAppliesTo
Connect-QADService
Convert-QADAttributeValue
Deprovision-QADUser
Disable-QADUser
Disconnect-QADService
Enable-QADUser
Get-QADComputer
Get-QADGroup
Get-QADGroupMember
Get-QADObject
Get-QADPasswordSettingsObject
Get-QADPSSnapinSettings
Get-QADUser
Move-QADObject
New-QADGroup
New-QADObject
New-QADPasswordSettingsObject
New-QADUser
Remove-QADGroupMember
Remove-QADObject
Remove-QADPasswordSettingsObjectAppliesTo
Rename-QADObject
Set-QADGroup
Set-QADObject
Set-QADPSSnapinSettings
Set-QADUser
Unlock-QADUser
例えばユーザ一覧を参照したい場合には
Get-QADUser
と入力すれば簡単に一覧を出力出来ますし、
Get-QADGroupMember "domain admins"
と入力すれば簡単にdomain adminsに含まれるメンバー一覧を出力する事が出来ます。かなり管理する上で使いやすいなと思ったのはアカウントをステータスに応じてすぐに出力出来るところです。
例えばユーザアカウントのうち、無効になっているアカウントの一覧を出力したければ
Get-QADUser -Disabled
と入力するだけですぐに出力出来ます。その他動作においては
Get-Help Get-QADUser
で調べる事が可能です。
Get-QADUser [[-Identity]<String>] [-Name <String>] [-Anr <String>] [-LdapFilter <String>] [-SearchRoot <String>] [-SearchScope <SearchScope>] [-PageSize <Int32>] [-SizeLimit <Int32>] [-WildcardMode <WildcardMode>] [-AttributeScopeQuery <String>] [-IncludeAllProperties] [-ReturnPropertyNamesOnly] [-DontUseDefaultIncludedProperties] [-SerializeValues] [-DontConvertValuesToFriendlyRepresentation] [-Disabled] [-Enabled] [-Locked] [-City <String>] [-Company <String>] [-Department <String>] [-Fax <String>] [-FirstName <String>] [-HomePhone <String>] [-Initials <String>] [-LastName <String>] [-Manager <String>] [-MobilePhone <String>] [-Notes <String>] [-Office <String>] [-Pager <String>] [-PhoneNumber <String>] [-PostalCode <String>] [-PostOfficeBox <String>] [-SamAccountName <String>] [-StateOrProvince <String>] [-StreetAddress <String>] [-Title <String>] [-UserPrincipalName <String>] [-WebPage <String>] [-UserPassword <String>] [-ObjectAttributes <Object>] [-Description <String>] [-DisplayName <String>] [-ExcludedProperties <String[]>] [-IncludedProperties <String[]>] [-DeserializeValues] [-UseDefaultExcludedProperties [<Boolean>]] [-UseDefaultExcludedPropertiesExcept <String[]>] [-Proxy] [-Service <String>] [-ConnectionAccount <String>] [-ConnectionPassword <SecureString>] [-Credential <PSCredential>] [-Connection <ArsConnection>] [-UseGlobalCatalog] [<CommonParameters>]
参考リンク
QuestSOFTWARE