以前teratailのこちらの質問に回答した際に簡単な検証環境を作ったのですが、その手順を備忘録を兼ねてエントリとして公開します。
DFSの基本
本エントリではDFSの基本的なことについては触れません。
以下の記事が参考になりますのでご覧ください。
検証環境
名前空間サーバ(兼 ドメインコントローラー)1台、ターゲットサーバー1台のシンプルな環境を作ります。
OSはともにWindows Server 2012 R2、最新のWindows Updateと最低限のネットワーク設定が済んでいるところからスタートします。
設定項目 | 名前空間サーバ | ターゲットサーバー |
---|---|---|
OS | Windows Server 2012 R2 | Windows Server 2012 R2 |
コンピューター名 | ADSV | FLSV |
ドメイン | corp.contoso.com | corp.contoso.com |
利用ユーザー | administrator | administrator |
DFSの環境を構築する
1. ドメイン構築
名前空間サーバーで以下のコマンドを実行し、ドメイン corp.contoso.com
を作成します。
# マシン名変更 Rename-Computer ADSV -Restart # (再起動後)ドメイン作成 Add-WindowsFeature AD-Domain-Services, GPMC, RSAT-ADDS, RSAT-AD-PowerShell Import-Module ADDSDeployment $Params = @{ DomainName = "corp.contoso.com"; DomainNetbiosName = "CONTOSO"; ForestMode = "Win2012R2"; DomainMode = "Win2012R2"; DatabasePath = "C:\Windows\NTDS"; LogPath = "C:\Windows\NTDS"; SysvolPath = "C:\Windows\SYSVOL"; SafeModeAdministratorPassword = (Get-Credential); # 接続情報 InstallDns = $true; CreateDnsDelegation = $false; NoRebootOnCompletion = $false; Confirm = $false; } Install-ADDSForest @Params
2. ターゲットサーバーのドメイン参加
ターゲットサーバーをcorp.contoso.com
ドメインに参加させます。
# マシン名変更 Rename-Computer FLSV -Restart # (再起動後)ドメイン参加 Add-Computer -DomainName corp.contoso.com -Restart
3. DFSの設定
名前空間サーバで以下のコマンドを実行してDFSの設定を行います。
最初にDFSの構成に必要な機能をインストールします。
# 機能のインストール Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication, RSAT-DFS-Mgmt-Con
続けてDFSルートを作ります。
名前空間サーバー上にある共有フォルダに対してNew-DfsnRoot
コマンドを実行してやります。
以下の例では最初にC:\DFSRoots\Public
に共有フォルダPublic
を作成し、DFSルート\\corp.contoso.com\Public
を割り当てています。
# DFS設定(名前空間の作成) $DFSRootPath = '\\corp.contoso.com\Public' $DFSRootTarget = 'C:\DFSRoots\Public' $DFSRootSharedPath = "\\$(hostname)\Public" # 先に共有フォルダを作る mkdir $DFSRootTarget New-SmbShare –Name 'Public' –Path $DFSRootTarget -FullAccess everyone # DFSルート作成 New-DfsnRoot -Path $DFSRootPath -Type DomainV2 -TargetPath $DFSRootSharedPath
DFSルートを作成した次はフォルダターゲットを作成します。
フォルダターゲットにはターゲットサーバー上の共有フォルダが必要なのでInvoke-Command
を使ってリモートから共有フォルダを作成してやります。
以下の例ではターゲットサーバーのC:\DFSTargets\Share
に共有フォルダShare
を作成します。
接続情報は適宜設定してください。
# DFSターゲットの設定(共有フォルダの作成) $DFSTargetHost = 'FLSV' $DFSTargetCredential = Get-Credential # 接続情報 Invoke-Command -ComputerName $DFSTargetHost -Credential $DFSTargetCredential -ScriptBlock { $targetLocalPath = 'C:\DFSTargets\Share' mkdir $targetLocalPath New-SmbShare –Name 'Share' –Path $targetLocalPath -FullAccess everyone }
最後にNew-DfsnFolder
を使ってこの共有フォルダをDFSフォルダにします。
# フォルダターゲットの作成 $DFSFolderPath = '\\corp.contoso.com\Public\Share' $DFSFolderTargetPath = "\\$($DFSTargetHost)\Share" New-DfsnFolder -Path $DFSFolderPath -TargetPath $DFSFolderTargetPath
結果確認
ここまでの結果「DFSの管理」からは以下の様に見え、DFSの構成が上手くいったことが確認できます。
フォルダへのアクセスも良い感じにできています。
【補足】DFSDsc
今回は触れませんでしたが、DFSを構築するためのDSC Resourceも当然存在しています。
このサンプルコードが今回の構成に近いので参考にしてみてください。