Active Directory の操作をする場合、最近の情報では、Active Directory モジュールのコマンドレットを使用するケースが多いかと思います。
環境によっては、AD 用のコマンドレットをインストールせずに AD の操作をする必要も出てくるかと。
クラスターを構築する場合、コンピューターアカウントの作成で、AD の操作をする必要がありますので、簡単なサンプルを。
更新プログラムの適用状況によっては、以下の対応が必要となることもありそうです。
# コンピューターアカウントの作成時点で、UserAccountControl を適切にを設定していないと、primaryGroupID が User になってしまう現象が。
Problem with Active Directory patch MS15-96?
[MS15-096] Active Directory サービスの脆弱性により、サービス拒否が起こる (2015 年 9 月 8 日)
この辺も参考に
Create Active Directory Computer Object
試してみた感じでは以下のようなスクリプトで実行できるかと。
$domain = "AlwaysOn.local" $OUPath = "OU=Migration,DC=AlwaysOn,DC=Local" $DomainUser = "AccountOP" $DomainPassword = "M@sterEr0s" $ComputerAccount = "Cluster-01" $ClusterAccount = "AlwaysOn\AccountOP" # $ClusterAccount = "AlwaysOn\Cluster-01$" # コンピューターアカウントを権限として付与する場合 $ousearch = New-Object System.DirectoryServices.DirectorySearcher $ousearch.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$domain/$OUPath", $DomainUser, $DomainPassword) $ousearch.Filter = "(&(name=$ComputerAccount)(objectClass=computer))" $ousearch.FindOne() $dom = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$domain/$OUPath", $DomainUser, $DomainPassword) $dom.RefreshCache() if($ousearch.FindOne() -eq $null){ $ou = $dom.Children.Add("CN=$ComputerAccount", "computer") $ou.CommitChanges() | Out-Null } # https://social.technet.microsoft.com/Forums/windowsserver/ja-JP/f959f226-0f20-473e-bdf4-50de03732b4e/powershell-creating-a-computer-account-in-active-directory-from-outside-the-domain?forum=winserverDS $Account = New-Object System.Security.Principal.NTAccount($ClusterAccount) $perms = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($Account, "GenericAll", "Allow") $ca = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$domain/CN=$ComputerAccount,$OUPath", $DomainUser, $DomainPassword) $ca.RefreshCache() $ca.ObjectSecurity.AddAccessRule($perms) $ca.sAMAccountName = "$ComputerAccount$" $ca.userAccountControl = 0x1002 $ca.CommitChanges()
Account Operators に登録されているユーザーで AD を操作して、コンピューターアカウントの作成を実施しています。
そのままだと、クラスターで必要となるコンピューターアカウントの属性が設定されていないため、作成後に属性を少し調整していますが、これで、無効な状態のコンピューターアカウントとして作成されているかと。