Management Shell for Active Directoryを使ってみる

Quest Softwareから

PowerShell Cmdlets for Active Directory

というアプリケーションが無償公開されています。このアプリケーションを用いる事により、PowerShell上から簡単にActive Directoryを操作する事が出来るようになります。現時点の最新バージョンは1.07です。

Cmdlet(コマンドレット)とはPowerShell謹製のコマンドの事ですが、独自に追加する事が可能です。

ActiveRoles Management Shell for Active Directory

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&#91;&#93;>]
            [-IncludedProperties <String&#91;&#93;>]
            [-DeserializeValues]
            [-UseDefaultExcludedProperties [<Boolean>]]
            [-UseDefaultExcludedPropertiesExcept <String&#91;&#93;>]
            [-Proxy]
            [-Service <String>]
            [-ConnectionAccount <String>]
            [-ConnectionPassword <SecureString>]
            [-Credential <PSCredential>]
            [-Connection <ArsConnection>]
            [-UseGlobalCatalog]
            [<CommonParameters>]

参考リンク
QuestSOFTWARE

HIRO's.NET Blog

Active Directory Cmdlets

PowerShell Community Extensions

The PowerShell Guy

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です