2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Powershell/コマンド】AD関連

Last updated at Posted at 2022-06-20

Microsoft資料

dsadd
csvde
dsquery

メモ

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 OUdsquery 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

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?