Windows Server Core Edition build SMB (Detail) with PowerShelll

Windows Server Core Edition build SMB (Detail) with PowerShelll

皆さん、こんばんちわです。
ピン村です。
今回は、Fujitsu鯖のRX2560M2ちゃんが無事ご機嫌を取り返しブゥオンブゥオン全力運転に入りましたのでWindows Server CoreでSMBを建てていきます。(俗にいう家庭内ファイルサーバーってやつです。)

では、早速やっていきましょう!!

Contents

Windows Server Coreインストール

では、早速インストールしていきましょう。!!

SQL Server-2020-08-23-19-50-09

言語、キーボード設定が終わったら"今すぐインストール"を押下します。

SQL Server-2020-08-23-19-50-19

次に、Windows Serverのエディション選択です。
基本的には、Enterpriseを選んでおけば問題はありません。
ちなみに、Standardを選択したからと言って何かあるわけでも無いのでどっちでも大丈夫です。
好きなほうを選んどきましょう。

SQL Server-2020-08-23-19-50-49

次に、利用規約です。
まぁ、出来る限り読んで理解した上で "同意します"のチェックを押下するべきですが宅内環境なのである程度はスキップしてもいいかなぁと思ったりします。

出来る限り、読んで理解しましょう!!

SQL Server-2020-08-23-19-51-03

画像にもある通りですが、新規にOSをインストールする場合は、下の "カスタム"から選択してください。
万が一、"アップグレード"を押下しても問題はありませんがインストーラーが一からやり直しになるので注意が必要ですw (筆者体験談)

SQL Server-2020-08-23-19-51-11

最後に、インストールするディスクの選択をしてください。
複数個、HDDやSSDを積んでいる場合は台数分見えるはずです。
また、RAIDなどを組んでる場合は1台しか見えないと思います。(組んでいるRAIDによる)

SQL Server-2020-08-23-19-51-28

Windows Server Coreでのリモート接続許可を行う

Windows Server CoreはGUIでの操作が不可能な為、リモートでコマンド操作をすることがベストプラクティスとされています。

ですが、
SSHのようなリモートプロトコルは基本的にWindowsでは装備していない為、コマンドプロンプトもしくはPowerShell等でリモートコントロールします。

  • Windows Server Core (Guest OS)

    C:\Users\Administrator> powershell
    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.
    新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6
    
    PS C:\Users\Administrator> Enable-PSRemoting
  • Windows 10 (Host OS)

    PS C:\Users\Administrator> net start WinRM
    
    PS C:\Users\Administrator> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "操作される側のIP

上記で、とりあえずPowerShellを介したリモートコントロールが出来るはずです。

なお、

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "操作される側のIP

に関してはホスト別に登録が必要な為Windows Server Coreのホストが増えたときには都度上記コマンドを実行するようにしましょう。

SMBインストール

PS C:\Users\Administrator> Install-WindowsFeature FS-FileServer

User 新規作成

PS C:\Users\Administrator> New-LocalUser -Name "yhiramatsu" `
>> -FullName "YukiHiramatsu" `
>> -Description "SMB User" `
>> -Password (ConvertTo-SecureString -AsPlainText "Yukiafronia1102!" -Force) `
>> -PasswordNeverExpires `
>> -AccountNeverExpires

"yhiramatsu"ユーザーをグループ"Administrators"に追加する。
PS C:\Users\Administrator> Add-ADGroupMember -Identity Administrators -Members yhiramatsu

ユーザーとファイル共有を紐づけ

PS C:\Users\Administrator> New-SmbShare -Name "yhiramatsu" -Path "Y:\" -FullAccess "yhiramatsu"

↑ 2番目の"yhiramatsu"はユーザー名

***継承レベルを無効にして ace をコピーする***
PS C:\Users\Administrator> icacls "Y:\" /inheritance:d

Firewall設定

Windowsの場合だとファイアウォールが有効な場合、ping (ICMP)のリプライも返してくれない。
その場合、疎通が取れているのかも把握することが出来ないので、SMBのポートと一緒にping用(ICMP)のポートも一緒に開放する。

PS C:\Users\Administrator> Set-NetFirewallRule FPS-SMB-In-TCP -Enabled True

PS C:\Users\Administrator> Set-NetFirewallRule FPS-SMB-Out-TCP -Enabled True

PS C:\Users\Administrator> Set-NetFirewallRule FPS-ICMP4-ERQ-In -Enabled True

PS C:\Users\Administrator> Set-NetFirewallRule FPS-ICMP4-ERQ-Out -Enabled True

以上で、構築は終了です。
正直、GUIでやれば5分チョイで終わるとは思うのですがCUIだと分かりにくさMAXになるなぁ...(リソースは大幅削減できるけどw)と感じました。

GUIごときにリソース割いてられるか!!って方は是非Windows Server Core お試しになってみてください!!

OSインストール領域は10GBあれば足りますww

それでは!!

参考URL

PowerShellでローカルユーザー(アカウント)やグループの追加・変更・削除を行う方法
https://www.haruru29.net/blog/how-to-configure-local-users-using-powershell/

ServerWorld様
Windows Server 2019 ファイルサーバー : ファイル共有を設定する
https://www.server-world.info/query?os=Windows_Server_2019&p=smb&f=2

ServerWorld様
Windows Server 2019 初期設定 : ローカルユーザーを新規作成する
https://www.server-world.info/query?os=Windows_Server_2019&p=initial_conf&f=1