*PowerShell ActiveDirectory [#pef42ed2]
#enull{{
&tag(PowerShell,AD,ActiveDirectory,Active Directory,ドメイン);
}}
#contents

**前提条件 [#yaa602ec]
-以下のサーバ条件を基に記述する。
|コンピュータ名|ドメイン名|FQDN|h
|ADtest|yottun8.com|ADtest.yottun8.com.|

**PowerShellにてActiveDirectoryを扱えるようにする [#k421e03e]
 PS> Import-Module -Name ActiveDirectory

**コマンドレット一覧 [#re1e0622]
 Get-Command -Module ActiveDirectory | Select-Object -Property Name
|カテゴリ|コマンドレット名||||h
|追加|Add-ADComputerServiceAccount|Add-ADDomainControllerPasswordReplicationPolicy|Add-ADFineGrainedPasswordPolicySubject|Add-ADFineGrainedPasswordPolicySubject|
|~|Add-ADGroupMember|Add-ADPrincipalGroupMembership|||
|[[消去>#p686d632]]|[[Clear-ADAccountExpiration>#i24c6754]]||||
|[[無効化>#u47fc7bc]]|[[Disable-ADAccount>#t84b1c29]]|Disable-ADOptionalFeature|||
|[[有効化>#n6a7f223]]|[[Enable-ADAccount>#i0a24b83]]|Enable-ADOptionalFeature|||
|[[取得>#m3019750]]|Get-ADAccountAuthorizationGroup|Get-ADAccountResultantPasswordReplicationPolicy|Get-ADComputer|Get-ADComputerServiceAccount|
|~|Get-ADDefaultDomainPasswordPolicy|Get-ADDomain|Get-ADDomainController|Get-ADDomainControllerPasswordReplicationPolicy|
|~|Get-ADDomainControllerPasswordReplicationPolicyUsage|Get-ADFineGrainedPasswordPolicy|Get-ADFineGrainedPasswordPolicySubject|Get-ADForest|
|~|[[Get-ADGroup>#g674bf17]]|Get-ADGroupMember|Get-ADObject|Get-ADOptionalFeature|
|~|[[Get-ADOrganizationalUnit>#kc17c01a]]|Get-ADPrincipalGroupMembership|Get-ADRootDSE|[[Get-ADServiceAccount>#qf0bc809]]|
|~|Get-ADUser|Get-ADUserResultantPasswordPolicy|||
|[[作成>#q5376dd3]]|New-ADComputer|New-ADFineGrainedPasswordPolicy|[[New-ADGroup>#hb235592]]|New-ADObject|
|~|[[New-ADOrganizationalUnit>#jaeac7fd]]|[[New-ADServiceAccount>#ta6fff9b]]|New-ADUser||
|[[削除>#m454b07b]]|Remove-ADComputer|Remove-ADComputerServiceAccount|Remove-ADDomainControllerPasswordReplicationPolicy|Remove-ADFineGrainedPasswordPolicy|
|~|Remove-ADFineGrainedPasswordPolicySubject|[[Remove-ADGroup>#oeef95d1]]|Remove-ADGroupMember|Remove-ADObject|
|~|[[Remove-ADOrganizationalUnit>#z81b51af]]|Remove-ADPrincipalGroupMembership|[[Remove-ADServiceAccount>#fde87027]]|[[Remove-ADUser>#n75a6092]]|
|[[移動>#d6a8235f]]|Move-ADDirectoryServer|Move-ADDirectoryServerOperationMasterRole|[[Move-ADObject>#edd1c1c8]]||
|設定|Set-ADAccountControl|Set-ADAccountExpiration|Set-ADAccountPassword|Set-ADComputer|
|~|Set-ADDefaultDomainPasswordPolicy|Set-ADDomain|Set-ADDomainMode|Set-ADFineGrainedPasswordPolicy|
|~|Set-ADForest|Set-ADForestMode|Set-ADGroup|Set-ADObject|
|~|Set-ADOrganizationalUnit|Set-ADServiceAccount|Set-ADUser||
|検索|Search-ADAccount||||
|[[インストール>#ad9efb1f]]|[[Install-ADServiceAccount>#w695349f]]||||
|[[アンインストール>#h08b8f0c]]|[[Uninstall-ADServiceAccount>#s8233cde]]||||
|[[リネーム>#z4cdf79e]]|[[Rename-ADObject>#f27b2243]]||||
|[[リセット>#zc94b17b]]|[[Reset-ADServiceAccountPassword>#lc2269f5]]||||
|[[復元>#m0212c43]]|[[Restore-ADObject>#j5d661f7]]||||
|[[解除>#pded4e5e]]|[[Unlock-ADAccount>#m84851ab]]||||

**消去 [#p686d632]
***アカウント有効期限情報の消去 [#i24c6754]
-"山田 太郎"ユーザのアカウント有効期限を無期限にする。
 PS> Clear-ADAccountExpiration -Identity "CN=山田 太郎,CN=Users,DC=yottun8,DC=com"

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


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


**取得 [#m3019750]
***グループの取得 [#g674bf17]
-全てのグループを取得する。
 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の取得 [#kc17c01a]
-全ての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

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


**作成 [#q5376dd3]
***グループの作成 [#hb235592]
-グローバルセキュリティグループの作成
--"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の作成 [#jaeac7fd]
-ドメイン直下に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"

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


**削除 [#m454b07b]
***グループの削除 [#oeef95d1]
-グループの削除
--"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の削除 [#z81b51af]
-ドメイン直下の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"

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

***ユーザの削除 [#n75a6092]
-ユーザの削除
--"山田 太郎"ユーザを削除する。
 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


**移動 [#d6a8235f]
***OUの移動 [#edd1c1c8]
-"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"となる。


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


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


**リネーム [#z4cdf79e]
***OUの名前変更 [#f27b2243]
-"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"となる。
***グループの名前変更 [#o1d4bd72]
-"Engineering"OUの"Improper"グループの名称を、"Parttimer"に変更する。
 PS> Rename-ADObject -Identity "CN=Improper,OU=Engineering,DC=yottun8,DC=com" -NewName "Parttimer"
--アクセス権設定画面に表示されるグループの名称は、上記で変更されるName属性ではなくSamAccountName属性であるため注意が必要

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

**復元 [#m0212c43]
***削除したアカウントを復元する [#j5d661f7]
-"山田 太郎"ユーザアカウントを復元する。
 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属性のことではない。


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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS