Microsoft資料
メモ
cmd
REM dsadd user でADユーザー登録時に複数グループを紐付ける場合、グループは半角スペースで区切る
dsadd user "CN=ユーザー名,OU=xxx,DC=ドメイン名,DC=co,DC=jp" -memberof "CN=グループ1,OU=xxx,DC=ドメイン名,DC=co,DC=jp" "CN=グループ2,OU=xxx,DC=ドメイン名,DC=co,DC=jp"
OU取得
cmd
REM OU取得(limit 0 で全件取得、デフォルトは100件)
dsquery ou -name *
dsquery ou -name OU名
dsquery ou -limit 0 "OU=OU名,OU=OU名,DC=ドメイン名,DC=co,DC=jp"
OU作成
cmd
dsadd ou "OU=OU名,OU=OU名,DC=ドメイン名,DC=co,DC=jp"
OUとGPOをリンクさせる
Powershell
# -Enforced YES で GPOの適用を強制
New-GPLink -Name "GPO名" -Enforced YES -Target "OU=OU名,OU=OU名,DC=ドメイン名,DC=co,DC=jp"
ADオブジェクト取得
cmd
REM ユーザー一覧
csvde -m -u -f OUTPUT.csv -r objectClass=organizationalPerson -n
REM OU一覧
csvde -m -u -f OUTPUT.csv -r objectClass=organizationalUnit -n
REM グループ一覧
csvde -u -f export.csv -r objectCategory=group
REM ユーザー一覧
csvde -u -f export.csv -r objectCategory=user
REM (参考)インポート
csvde -i -u -f "C:\export.csv"
Powershell
# ユーザー一覧
Get-ADObject -LDAPFilter "(objectClass=organizationalPerson)" -Propertie * | Export-Csv output.csv -Encoding Default
# OU一覧
Get-ADObject -LDAPFilter "(objectClass=organizationalUnit)" -Properties * | Export-Csv output-ou.csv -Encoding Default
Get-ADObject -Filter 'ObjectClass -eq "organizationalUnit"' -Properties * | Export-Csv output-ou.csv -Encoding Default
ADコンピューター取得
Powershell
Get-ADComputer -Filter * -SearchBase "OU=xxx,OU=Clients,DC=ドメイン,DC=co,DC=jp" | fl
Get-ADComputer -Filter "Name -eq 'computerName'" | fl
Get-ADComputer -Filter "Name -like '*computerName*'" | fl
ADユーザー一覧取得
Powershell
# ユーザーを指定して抽出
Get-ADUser -Properties * -Filter * | Where-Object{$_.sAMAccountName -eq 'XXXXXX'}
# CSVファイル出力
$path = [Environment]::GetFolderPath('Desktop') + "\ADUserListt.csv"
Get-ADUser -Properties * -Filter * | Export-Csv -Path $path -Encoding Default
Get-ADUser -Properties * -Filter * | Select-Object Company,Department,SamAccountName,CN,UserPrincipalName,DisplayName,Description,physicalDeliveryOfficeName,DistinguishedName,@{Label="Group";Expression={$_.MemberOf -join "`n"}},Created,PasswordExpired,PasswordNeverExpires,Enabled | Sort-Object SamAccountName | Export-Csv -Path $path -Encoding Default
ADユーザー登録
cmd
REM パスワード有効期限あり(既定値)
dsadd user "CN=ユーザーID,OU=OU名,OU=Users,DC=ドメイン,DC=co,DC=jp" -samid ユーザーID -display 表示名 -upn ユーザーID@xxx.co.jp -pwd パスワード
REM パスワード有効期限なし
dsadd user "CN=ユーザーID,OU=OU名,OU=Users,DC=ドメイン,DC=co,DC=jp" -samid ユーザーID -display 表示名 -upn ユーザーID@sxxx.co.jp -pwd パスワード -acctexpires never -pwdneverexpires yes
powershell
New-ADUser -UserPrincipalName "○○○@xxxx.co.jp" `
-SamAccountName "○○○" `
-Name "○○○ ●●●" `
-DisplayName "○○○ ●●●" `
-Surname "○○○" `
-GivenName "●●●" `
-Path "OU=OU名,DC=ドメイン名,DC=co,DC=jp" `
-AccountExpirationDate $true `
-PasswordNeverExpires $true `
-Enabled $true `
-AccountPassword(ConvertTo-SecureString -AsPlainText "パスワード" -Force)
ADグループ登録
cmd
dsadd group "CN=グループ名,OU=OU名,DC=ドメイン,DC=co,DC=jp"
powershell
New-ADGroup -Name グループ名 -Path "OU=OC,DC=ドメイン,DC=co,DC=jp" -Description "説明"
ADグループにリンクされているユーザー一覧
cmd
dsquery group -name "グループ名" | dsget group -members > 出力先.txt
ADユーザーとグループを紐付け
powershell
Add-ADGroupMember -Identity グループ名 -Members ユーザーID
ADユーザーとグループを紐付け解除
powershell
Remove-ADGroupMember -Identity グループ名 -Members ユーザーID
ADユーザー削除
powershell
# 確認メッセージ表示される
Remove-ADUser -Identity ユーザーID
# 確認メッセージ表示されずに削除
Remove-ADUser -Identity ユーザーID -Confirm:$false
一定期間ログインしていないアカウント特定
powershell
# 2010年1月20日以後にログオンしていないアカウントを取得する
Search-ADAccount -AccountInactive -DateTime "1/20/2010"
# 2010年1月20日以後にログオンしていないユーザーアカウントを取得する
Search-ADAccount -AccountInactive -DateTime "1/20/2010" -UsersOnly
# 2010年1月20日以後にログオンしていないコンピューターアカウントを取得する
Search-ADAccount -AccountInactive -DateTime "1/20/2010" -ComputersOnly
AD CN名変更
cmd
dsmove "CN=現在のCN名,OU=OU名,OU=Users,DC=ドメイン,DC=co,DC=jp" -newname "新しいCN名"
AD プロパティ値変更
powershell
# 会社名、部署名、説明変更
Set-ADUser -Identity "ユーザーID" -Company "会社名" -Department "部署名" -Description "説明文"
# CSVでインポート(属性:EmployeeID、mailなどはインスタンスで更新)
Import-Csv -Path "import.csv" `
| foreach {`
$adusr=Get-ADUser -Identity $_.SamAccountName; `
$adusr.EmployeeID=$_.EmployeeID; `
$adusr.mail=$_.mail;`
Set-ADUser -Instance $adusr; }
# 属性EmployeeIDを空欄にする
Set-ADUser -Identity "xxxx" -Clear EmployeeID
SYSVOLレプリケーション確認
cmd
REM:結果が返ってくればFRS
dsquery * "CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System,DC=<ドメイン名>,DC=co,DC=jp" -scope base
REM:結果が返ってくればDFSR
dsquery * "CN=Domain System Volume,CN=DFSR-GlobalSettings,CN=System,DC=<ドメイン名>,DC=co,DC=jp" -scope base
フォレスト機能レベルの確認
cmd
dsquery * "CN=Partitions,CN=Configuration,DC=<ドメイン名>,DC=co,DC=jp" -scope base -attr msDS-Behavior-Version
powershell
Get-ADForest | fl Name,ForestMode
ドメインの機能レベルの確認
cmd
dsquery * "DC=<ドメイン名>,DC=co,DC=jp" -scope base -attr msDS-Behavior-Version ntMixedDomain
powershell
Get-ADDomain | fl Name,DomainMode
msDS-Behavior-version | ntMixedDomain | 機能レベル |
---|---|---|
0 | 0 | Windows 2000 Native |
0 | 1 | Windows 2000 Mixed |
2 | 0 | Windows 2003 |
3 | 0 | Windows 2008 |
4 | 0 | Windows 2008 R2 |
5 | 0 | Windows 2012 |
6 | 0 | Windows 2012 R2 |
7 | 0 | Windows 2016 |
参考:https://bizlog.tech/ad-ds-version-command/
https://jpwinsup.github.io/blog/2023/04/24/ActiveDirectory/FunctionalLevel/impact-of-updating-functionallevel/
AD複製確認
cmd
repadmin /replsummary
repadmin /showrepl /repsto
FSMO役割保持サーバー確認
cmd、powershell
netdom /query fsmo
FSMO役割を別のDCへ転送
cmd、powershell
#---------------------------------#
# 転送先サーバーへ接続
#---------------------------------#
PS C:\Users\Admi> ntdsutil
C:\Windows\system32\ntdsutil.exe: roles
fsmo maintenance: connections
server connections:connect to server 転送先DC(例:xxxx.local.domain)
server connections: quit
#---------------------------------#
# 名前付けマスタの転送
#---------------------------------#
# 通常
Transfer naming master
# 強制
seize naming master
#---------------------------------#
# インフラストラクチャマスタの転送
#---------------------------------#
# 通常
Transfer infrastructure master
# 強制
seize infrastructure master
#---------------------------------#
# PDCの転送
#---------------------------------#
# 通常
Transfer PDC
# 強制
seize PDC
#---------------------------------#
# RIDの転送
#---------------------------------#
# 通常
Transfer RID master
# 強制
seize Transfer RID master
#---------------------------------#
# スキーママスタの転送
#---------------------------------#
# 通常
Transfer schema master
# 強制
seize schema master