すべてのJavaバージョンを削除する方法:PowerShellスクリプトガイド

Active Directory(AD)のユーザーをドメイン内で検索する必要がある場合、PowershellのGet-Aduserコマンドが利用できます。ユーザーアカウントは従業員、サービスアカウント、その他のリソースに割り当てられています。しかし、ADのユーザーアカウントを管理することはますます難しくなっています。

Get-AdUser PowerShellコマンドレットを使用すると、さまざまな方法でADユーザーを取得することができます。この記事では、いくつかの方法とこの便利なコマンドレットの使用方法について学びます。

ManageEngine ADManager Plusを使用して、Active Directory、Exchange、およびMicrosoft 365を管理およびレポートします。 無料トライアルをダウンロード!

前提条件

この記事でカバーされているGet-AdUserコマンドレットの例を使用するには、次のものが必要です:

Identityを使用してユーザーアカウントを検索する

Get-AdUserコマンドレットは、1つの目的と1つの目的のみを持っています。それは、ドメインユーザーを見つけるためのできるだけ多くのオプションを提供するために存在しています。ユーザー名をすでに知っている場合は、Identityパラメータを使用することができます。

Identityパラメータを使用すると、4つの異なる識別子のうちの1つを指定できます。

  • distinguishedName (DN)
  • samAccountName
  • GUID
  • SID

以下に、さまざまな識別子を使用してユーザーアカウントを検索する例が示されています。各ユーザーアカウントに対してAD属性のセットが返されることに注意してください。

PS> Get-ADUser -Identity abertram


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'S-1-5-21-4117810001-3432493942-696130396-3142'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local

Identityパラメータに最も一般的に使用される属性は、samAccountName属性です。

Get-ADUserフィルター

複数のドメインユーザーを検索する必要がある場合や、識別子がわからない場合は、フィルターを使用します。そのために、FilterLDAPFilterという2つのパラメータが用意されています。

各フィルターパラメータは、条件文を指定することができます。この条件が満たされると、Get-AdUserはその条件に一致するユーザーアカウントを返します。

ユーザーをフィルタリングするための最も一般的なパラメータはFilterです。Filterパラメータを使用すると、PowerShellのWhere-Objectコマンドフィルター構文に似た条件を作成することができます。

Filterパラメータは、PowerShellの式言語構文を使用します。この言語は、Where-Objectで使用するものに似ていますが、完全に同じではありません。このフィルタの使用方法についての詳細は、このActive DirectoryとLDAPフィルタの記事を参照してください。

以下は、Filterパラメータの使用例です。この例では、AD属性(この例ではgivenName)を指定し、条件を設定しています。フィルタは、givenNameAdamと等しい場合にのみユーザーを返すようになっています。

PS> Get-AdUser -Filter "givenName -eq 'Adam'"


DistinguishedName : CN=ADBertram,OU=Accounting,DC=mylab,DC=local
Enabled           : False
GivenName         : Adam
Name              : ADBertram
ObjectClass       : user
ObjectGUID        : 8ec5e2a8-1fda-42cb-9406-b1e6356dd457
SamAccountName    : ADBertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3163
Surname           : Bertram
UserPrincipalName : ADBertram

DistinguishedName : CN=Hughes\, Adam,CN=Users,DC=mylab,DC=local
Enabled           : True
GivenName         : Adam
Name              : Hughes, Adam
ObjectClass       : user
ObjectGUID        : 96778db3-3dbd-4b83-9183-db111caa2791
SamAccountName    : ahughes
SID               : S-1-5-21-4117810001-3432493942-696130396-38201
Surname           : Hughes
UserPrincipalName :

もう1つのフィルタリングオプションはLDAPFilterですが、この記事では説明しません。LDAPFilterおよびその構文の詳細については、このActive DirectoryとLDAPフィルタの記事を参照してください。

Get-AdUserを使用したOU別のユーザーの取得

識別子またはフィルタを指定することで、PowerShellは基準に一致するドメイン内のすべてのユーザーを返します。これはOUで制限されません。OU別にフィルタを設定するには、Get-AdUser -SearchBase <OU>を使用する必要があります。

SearchBaseパラメータを使用すると、特定のOU内のユーザーアカウントの検索を開始することができます。SearchBaseパラメータは、OUの識別名(DN)を受け入れます。MyUsers OUのすべてのユーザーを以下のように見つけることができます。*Filterを使用すると、すべてのユーザーアカウントに一致することを意味します。

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local'

おそらく、単一のOU内のユーザーアカウントのみを見つけたい場合、および子OUを除外したい場合は、SearchBaseパラメータとSearchScopeパラメータを使用することができます。 SearchScopeパラメータは、OU階層でどのくらい深く検索するかを定義します。

たとえば、OUとその子OUのすべてのユーザーアカウントを検索したい場合は、SearchScopeの値に1を使用します。子および孫OUすべてを検索したい場合は、2を使用します。

以下は、MyUsers OUおよびその下のすべての子OUでユーザーアカウントを検索する例です。

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local' -SearchScope 2

代替資格情報の使用

Get-AdUserは、デフォルトではログオンしているユーザーのコンテキストで実行されます。ただし、Credentialパラメータを使用して代替の資格情報を指定することもできます。

代替資格情報で認証するには、次のようにGet-Credentialを使用してPSCredentialオブジェクトを作成します:

PS> $cred = Get-Credential
PS> Get-AdUser -Filter * -Credential $cred

資格情報に関する詳細は、PowerShell Get-Credentialコマンドレットの使用とすべての資格情報に関する情報を参照してください。

PowerShell Get-AdUserプロパティパラメータ

Get-AdUserを実行すると、返される属性はわずかです。また、出力をSelect-Object -Property *にパイプすると、すべての属性が返されるわけではありません。

Propertyパラメーターを使用して、PowerShellでADユーザー属性を取得します。このパラメーターは、出力に表示する1つ以上のカンマ区切り属性を受け入れます。

以下に、givenNameAdamのすべてのユーザーアカウントのすべてのプロパティを検索するためにGet-AdUserを使用する例が表示されます。出力は省略されていますが、メールアドレス、パスワードプロパティなど、他のよく知られた属性も表示されています。

PS> Get-AdUser -Filter "givenName -eq 'Adam'" -Properties *


AccountExpirationDate                :
accountExpires                       : 9223372036854775807
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : mylab.local/Accounting/ADBertram
........

ManageEngine ADManager Plusを使用して、Active Directory、Exchange、Microsoft 365を管理およびレポートします。無料トライアルをダウンロード!

概要

Get-ADUserコマンドレットは、ADユーザーアカウントを検索したり、レポートを作成したりするための便利なコマンドです。ドメインからADユーザーを取得するための優れた方法です。 Get-AdUserおよびすべてのパラメーターの詳細については、Get-Help Get-AdUserを実行してヘルプコンテンツを読んでください。

Get-AdUserの使用方法の他の多くの例については、ブログ記事Active Directory Scripts Galore: Come and Get It!をご覧ください。

Source:
https://adamtheautomator.com/get-aduser/