PowerShell ActiveDirectory

前提条件

  • 以下のサーバ条件を基に記述する。
    コンピュータ名ドメイン名FQDN
    ADtestyottun8.comADtest.yottun8.com.

PowerShellにてActiveDirectoryを扱えるようにする

PS> Import-Module -Name ActiveDirectory

コマンドレット一覧

Get-Command -Module ActiveDirectory | Select-Object -Property Name
カテゴリコマンドレット名
追加Add-ADComputerServiceAccountAdd-ADDomainControllerPasswordReplicationPolicyAdd-ADFineGrainedPasswordPolicySubjectAdd-ADFineGrainedPasswordPolicySubject
Add-ADGroupMemberAdd-ADPrincipalGroupMembership
消去Clear-ADAccountExpiration
無効化Disable-ADAccountDisable-ADOptionalFeature
有効化Enable-ADAccountEnable-ADOptionalFeature
取得Get-ADAccountAuthorizationGroupGet-ADAccountResultantPasswordReplicationPolicyGet-ADComputerGet-ADComputerServiceAccount
Get-ADDefaultDomainPasswordPolicyGet-ADDomainGet-ADDomainControllerGet-ADDomainControllerPasswordReplicationPolicy
Get-ADDomainControllerPasswordReplicationPolicyUsageGet-ADFineGrainedPasswordPolicyGet-ADFineGrainedPasswordPolicySubjectGet-ADForest
Get-ADGroupGet-ADGroupMemberGet-ADObjectGet-ADOptionalFeature
Get-ADOrganizationalUnitGet-ADPrincipalGroupMembershipGet-ADRootDSEGet-ADServiceAccount
Get-ADUserGet-ADUserResultantPasswordPolicy
作成New-ADComputerNew-ADFineGrainedPasswordPolicyNew-ADGroupNew-ADObject
New-ADOrganizationalUnitNew-ADServiceAccountNew-ADUser
削除Remove-ADComputerRemove-ADComputerServiceAccountRemove-ADDomainControllerPasswordReplicationPolicyRemove-ADFineGrainedPasswordPolicy
Remove-ADFineGrainedPasswordPolicySubjectRemove-ADGroupRemove-ADGroupMemberRemove-ADObject
Remove-ADOrganizationalUnitRemove-ADPrincipalGroupMembershipRemove-ADServiceAccountRemove-ADUser
移動Move-ADDirectoryServerMove-ADDirectoryServerOperationMasterRoleMove-ADObject
設定Set-ADAccountControlSet-ADAccountExpirationSet-ADAccountPasswordSet-ADComputer
Set-ADDefaultDomainPasswordPolicySet-ADDomainSet-ADDomainModeSet-ADFineGrainedPasswordPolicy
Set-ADForestSet-ADForestModeSet-ADGroupSet-ADObject
Set-ADOrganizationalUnitSet-ADServiceAccountSet-ADUser
検索Search-ADAccount
インストールInstall-ADServiceAccount
アンインストールUninstall-ADServiceAccount
リネームRename-ADObject
リセットReset-ADServiceAccountPassword
復元Restore-ADObject
解除Unlock-ADAccount

消去

アカウント有効期限情報の消去

  • "山田 太郎"ユーザのアカウント有効期限を無期限にする。
    PS> Clear-ADAccountExpiration -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"

無効化

アカウントの無効化

  • "山田 太郎"ユーザを無効化する。
    PS> Disable-ADAccount -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"
  • SAMアカウント名を指定して無効化する。
    PS> Disable-ADAccount -Identity "yamada"

有効化

アカウントの有効化

  • "山田 太郎"ユーザを有効化する。
    PS> Enable-ADAccount -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"
  • SAMアカウント名を指定して有効化する。
    PS> Enable-ADAccount -Identity "yamada"

取得

グループの取得

  • 全てのグループを取得する。
    PS> Get-ADGroup -Filter *
  • "Proper"グループを取得する。
    PS> Get-ADGroup -Filter {Name -eq "Proper"}
  • 全てのグローバルセキュリティグループを取得する。
    PS> Get-ADGroup -Filter {GroupScope -eq "Global" -and GroupCategory -eq "Security"}
  • 全てのドメインローカルセキュリティグループを取得する。
    PS> Get-ADGroup -Filter {GroupScope -eq "DomainLocal" -and GroupCategory -eq "Security"}
  • 全てのユニバーサル配布グループを取得する。
    PS> Get-ADGroup -Filter {GroupScope -eq "Universal" -and GroupCategory -eq "Distribution"}

OUの取得

  • 全てのOUを取得する。
    PS> Get-ADOrganizationalUnit -Filter *
    PS> Get-ADObject -Filter {ObjectClass -eq "organizationalUnit"}
  • "Engineering"OUを取得する。
    PS> Get-ADOrganizationalUnit -Filter {Name -eq "Engineering"}
  • "Engineering"OUの全てのプロパティを取得する。
    PS> Get-ADOrganizationalUnit -Filter {Name -eq "Engineering"} -Properties *
  • "2011/03/22 02:00:00"以降に作成された全てのOUを取得する。
    PS> Get-ADOrganizationalUnit -Filter {Created -ge "2011/03/22 02:00:00"}
  • "2011/03/22 02:00:00"より前に作成された全てのOUの名前と作成日時を取得する。
    PS> Get-ADOrganizationalUnit -Filter {Created -lt "2011/03/22 02:00:00"} -Properties Created | Select-Object -Property Name, Created

サービスアカウントの取得

  • 全てのサービスアカウントを取得する。
    PS> Get-ADServiceAccount -Filter *
  • "test"サービスアカウントを取得する。
    PS> Get-ADServiceAccount -Filter {Name -eq "test"}

作成

グループの作成

  • グローバルセキュリティグループの作成
    • "Engineering"OUに"Proper"グローバルセキュリティグループを作成する。
      PS> New-ADGroup -Name "Proper" -GroupScope Global -Path "OU=Engineering,DC=yottun8,DC=com"
  • ドメインローカルセキュリティグループの作成
    • "Engineering"OUに"Proper"ドメインローカルセキュリティグループを作成する。
      PS> New-ADGroup -Name "Proper" -GroupScope DomainLocal -Path "OU=Engineering,DC=yottun8,DC=com"
  • ユニバーサルセキュリティグループの作成
    • "Engineering"OUに"Proper"ユニバーサルセキュリティグループを作成する。
      PS> New-ADGroup -Name "Proper" -GroupScope Universal -Path "OU=Engineering,DC=yottun8,DC=com"
  • 配布グループの作成
    • "Engineering"OUに"Proper"グローバル配布グループを作成する。
      PS> New-ADGroup -Name "Proper" -GroupCategory Distribution -GroupScope Global -Path "OU=Engineering,DC=yottun8,DC=com"

OUの作成

  • ドメイン直下にOUを作成
    • "yottun8.com"ドメインに"Engineering"OUを作成する。
      PS> New-ADOrganizationalUnit -Name Engineering -Path "DC=yottun8,DC=com"
    • "yottun8.com"ドメインに"Engineering"OUを作成し、誤った操作による削除から保護する。
      PS> New-ADOrganizationalUnit -Name Engineering -Path "DC=yottun8,DC=com" -ProtectedFromAccidentalDeletion $true
  • OUの中に子OUを作成
    • "Engineering"OUに"Development"子OUを作成する。
      PS> New-ADOrganizationalUnit -Name Development -Path "OU=Engineering,DC=yottun8,DC=com"

サービスアカウントの作成

  • "service"というサービスアカウントを作成する。
    PS> New-ADServiceAccount -Name "service"
  • パスワードを指定して、"service"というサービスアカウントを作成する。
    PS> New-ADServiceAccount -Name "service" -AccountPassword (ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force)

削除

グループの削除

  • グループの削除
    • "Engineering"OUの"Proper"グローバルセキュリティグループを削除する。
      PS> Remove-ADGroup -Identity "CN=Proper,OU=Engineering,DC=yottun8,DC=com"
  • 確認せず削除
    • "Engineering"OUの"Proper"グローバルセキュリティグループを削除する。
      PS> Remove-ADGroup -Identity "CN=Proper,OU=Engineering,DC=yottun8,DC=com" -Confirm:$false

OUの削除

  • ドメイン直下のOUを削除
    • "yottun8.com"ドメインの"Engineering"OUを削除する。
      PS> Remove-ADOrganizationalUnit -Identity "OU=Engineering,DC=yottun8,DC=com"
  • OUの中の子OUを削除
    • "Engineering"OUの中の"Development"子OUを削除する。
      PS> Remove-ADOrganizationalUnit -Identity "OU=Development,OU=Engineering,DC=yottun8,DC=com"
  • OUを子OUごと一括で削除
    • "Development"子OUごと"Engineering"OUを一括で削除する。
      PS> Remove-ADOrganizationalUnit -Identity "OU=Engineering,DC=yottun8,DC=com" -Recursive
  • 確認せず削除
    • "Engineering"OUの中の"Development"子OUを削除する。
      PS> Remove-ADOrganizationalUnit -Identity "OU=Development,OU=Engineering,DC=yottun8,DC=com" -Confirm:$false
  • 保護されたOUの削除
    • "yottun8.com"ドメインの"Engineering"OUを削除する。
      PS> Set-ADOrganizationalUnit -Identity "OU=Engineering,DC=yottun8,DC=com" -ProtectedFromAccidentalDeletion $false
      PS> Remove-ADOrganizationalUnit -Identity "OU=Engineering,DC=yottun8,DC=com"

サービスアカウントの削除

  • "test"サービスアカウントの削除
    PS> Remove-ADServiceAccount -Identity "test"
  • "test"サービスアカウントの削除
    PS> Get-ADServiceAccount -Filter {Name -eq "test} | Remove-ADServiceAccount

ユーザの削除

  • ユーザの削除
    • "山田 太郎"ユーザを削除する。
      PS> Remove-ADUser -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"
    • SAMアカウント名を指定して削除する。
      PS> Remove-ADUser -Identity "yamada"
  • 確認せず削除
    • "山田 太郎"ユーザを削除する。
      PS> Remove-ADUser -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com" -Confirm:$false
    • SAMアカウント名を指定して削除する。
      PS> Remove-ADUser -Identity "yamada" -Confirm:$false

移動

OUの移動

  • "Engineering"OUを"Development"OUの配下として移動する。
    PS> Move-ADObject -Identity "OU=Engineering,DC=yottun8,DC=com" -TargetPath "OU=Development,DC=yottun8,DC=com"
    Engineering OUは"OU=Engineering,OU=Development,DC=yottun8,DC=com"となる。

インストール

サービスアカウントのインストール

  • "test"サービスアカウントをローカルコンピュータにインストールする
    PS> Install-ADServiceAccount -Identity "test"
  • "test"サービスアカウントをローカルコンピュータにインストールする
    PS> Install-ADServiceAccount -Identity (Get-ADServiceAccount -Filter {Name -eq "test"})

アンインストール

サービスアカウントのアンインストール

  • "test"サービスアカウントをローカルコンピュータからアンインストールする
    PS> Uninstall-ADServiceAccount -Identity "test"
  • "test"サービスアカウントをローカルコンピュータからアンインストールする
    PS> Uninstall-ADServiceAccount -Identity (Get-ADServiceAccount -Filter {Name -eq "test"}

リネーム

OUの名前変更

  • "Engineering"OUを"Tech"OUと名称変更する。
    PS> Rename-ADObject -Identity "OU=Engineering,DC=yottun8,DC=com" -NewName "Tech"
    Engineering OUが"OU=Tech,OU=Development,DC=yottun8,DC=com"となる。

グループの名前変更

  • "Engineering"OUの"Improper"グループの名称を、"Parttimer"に変更する。
    PS> Rename-ADObject -Identity "CN=Improper,OU=Engineering,DC=yottun8,DC=com" -NewName "Parttimer"
    • アクセス権設定画面に表示されるグループの名称は、上記で変更されるName属性ではなくSamAccountName属性であるため注意が必要

リセット

サービスアカウントパスワードのリセット

  • "test"サービスアカウントのパスワードをリセットする。
    PS> Reset-ADServiceAccountPassword -Identity "test"

復元

削除したアカウントを復元する

  • "山田 太郎"ユーザアカウントを復元する。
    PS> Get-ADObject -Filter {SamAccountName -eq "yamada"} -IncludeDeletedObjects | Restore-ADObject -TargetPath "CN=Users,DC=yottun8,DC=com"
  • "山田 太郎"ユーザアカウントを別名で復元する。
    PS> Get-ADObject -Filter {SamAccountName -eq "yamada"} -IncludeDeletedObjects | Restore-ADObject -NewName "t_yamada" -TargetPath "CN=Users,DC=yottun8,DC=com"
    • ここで指定する別名は、Name属性のことであって、SamAccountName属性のことではない。

解除

アカウントのロック解除

  • "山田 太郎"ユーザのロックを解除する。
    PS> Unlock-ADAccount -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"
  • SAMアカウント名を指定してロックを解除する。
    PS> Unlock-ADAccount -Identity "yamada"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-10-28 (金) 09:44:00 (2430d)