仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

Windows Server Server Core初期セットアップ

皆さま、お久しぶりです。お盆はリフレッシュできましたでしょうか?

 

私は映画漬けな毎日でした。トランスフォーマー - 最後の騎士王 はあんまり面白くなかったです(アーサー王の伝説を知らないかしら?) 笑

あと、「君の名は」!Blu-ray借りてみましたけど面白かったですね。

相変わらず背景が綺麗でした。今までの新海さんの作品よりストーリーが分かりやすかったですね。(星を追う子どもとかストーリー??だったので 笑 )

 

 

さて、今まで私の自宅環境ではWindows Server 2012 R2 や 2016はデスクトップエクスペリエンス版で使っていたのですが、どうしてもメモリを食ってしまうのがネックでした。そこで、一部サーバーをServer Core版に入れ替えてみました。

 

Active Directory ドメインコントローラー、SQL ServerActive Directory 証明書サービスなど自宅で動くMS系のサーバーはServer Coreに対応しているので思い切ってServer Core化してみました。(Nano ServerだとADをサポートしていないので不採用となりました。)

 

今回の記事ではServer Core初期セットアップで使ったPowershellコマンドを列挙してみようかと思います。(Windows Server 2016で使用したコマンドです。2012 R2でサポートしていないコマンドがあったらごめんなさい。)

 

# コンピューター名の変更 (変更後自動的に再起動)
Rename-Computer -NewName "hostname" -Force -restart

# NICの一覧を取得し、IP/DNSを設定したいNICのifIndexやNameを控える
Get-NetAdapter

# IPアドレスの設定
# InterfaceIndex は1つ上のコマンドで控えた ifIndex の値を入れる
New-NetIPAddress -InterfaceIndex 17 -IPAddress "192.168.10.10" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.10.1"

# DNSの設定
Set-DnsClientServerAddress -InterfaceIndex 17 -ServerAddresses "192.168.10.1"

# IPv6の無効化
# Name には3つ上のコマンドで控えた Name の値を入れる
# ESXi上の仮想マシンであれば「イーサネット」等が Name と表示されている
Disable-NetAdapterBinding -Name "イーサネット" -ComponentID ms_tcpip6

# Windows Firewall ドメイン/パブリック/プライベート プロファイルを無効化
Get-NetFirewallProfile | Set-NetFirewallProfile -Enabled false

# Windows Update 無効化 (1が自動更新無効化、4が自動更新有効化)
cscript C:\Windows\system32\SCRegEdit.wsf /AU 1

# Windows Defender(リアルタイム保護) 無効化
Set-MpPreference -DisableRealtimeMonitoring $true

# Windows Defender(クラウドベース保護) 無効化
# 0:無効
# 1:MSに検知されたソフトウェアの基本的な情報を送信(Basic Membership)
# 2:MSに検知されたソフトウェアの詳細な情報を送信(Advanced Membership)
Set-MpPreference -MapsReporting 0

# Windows Defender(サンプルの送信) 無効化
# 0:毎回画面で確認する
# 1:安全なサンプルのみ自動送信する
# 2:送信しない
# 3:すべてのサンプルを自動送信する
Set-MpPreference -SubmitSamplesConsent 2

# Windows Defender 除外フォルダ/除外プロセス 設定 (Defender有効の場合、必要に応じて設定)
Set-MpPreference -ExclusionPath "C:\temp"
Set-MpPreference -ExclusionProcess "vmms.exe"

# 電源オプションを高パフォーマンスに変更
(Get-WmiObject -Name root\cimv2\power -Class Win32_PowerPlan -Filter 'ElementName="高パフォーマンス"').Activate()

# Powershellでリモートからの実行を許可
Enable-PSRemoting

 

上記の最後のコマンドでリモートの端末のPowershellからServer Coreの操作が可能となります。

但し、端末側にも下記の設定が必要となります。

 

# Powershellでリモート接続するサーバーを信頼されたホストとして登録
# Value の後に「*」を入れればすべてのホストが信頼される
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.10.10

# Powershellでリモート接続
Enter-PSSession -ComputerName 192.168.10.10 -Credential [DOMAIN]\[USERNAME]

 

 それでは本日は以上となります。ありがとうございました。