Windows Server」カテゴリーアーカイブ

Windows Server CoreとGUIのフットプリントの違い

実測したことがなかったので、PowerShellで取得する。Server CoreはバニラVM、GUIはAD/AADCがインストールしてある状態。

ディスク使用量(GUI)

Get-FolderSize C:\
# シェル確認用
Get-Volume | Where {$_.DriveLetter -ne $null } | Ft
# CSV出力用
Get-Volume | Where {$_.DriveLetter -ne $null } | Select DriveLetter,FileSystemType,Size,SizeRemaining | Export-Csv -Path <出力パス> -Encoding UTF8 -NoTypeInformation

デフォルトでGB表記になっているので、シェル確認ではそのまま使う。

Select-ObjectするとByte表示になり、”GB”の文字列も消えるので、PowerBIで集計する場合は、こちらのほうが都合がよい。

ディスク使用量(Server Core)

メモリ使用量

Server CoreにAAPCインストール① ~準備編~

Azure Application Proxy Connectorの単機能サーバとして、フットプリントを減らすために、Server Coreにインストールできるかどうかの検証。

URL確認

以下のページでダウンロードURLを確認する。

https://docs.microsoft.com/ja-jp/azure/active-directory/app-proxy/application-proxy-release-version-history

ダウンロードと実行

サイレントインストールオプションをつける必要がある。

Invoke-WebRequest -URI https://download.msappproxy.net/subscription/<テナントID>/connector/DownloadConnectorInstaller -OutFile C:\Users\Administrator\AADApplicationProxyConnectorInstaller.exe
.\AADApplicationProxyConnectorInstaller.exe REGISTERCONNECTOR=false /q

オプションをつけないで実行すると、以下のエラーとなる。

サービス確認

Get-Service | Where {$_.Name -like "WAP*"}

次回に接続の定義をする。

PowerShellでIPv6を無効化

Server Coreのためコマンドで設定する。

# NIC名を確認
Get-NetAdapter | ft -AutoSize -Wrap
# IPv6無効
Disable-NetAdapterBinding -Name "イーサネット インスタンス 0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -Name "イーサネット インスタンス 0" -ComponentID ms_tcpip6

IPv6関連の設定をオフにする

netsh interface ipv6 isatap set state disabled
netsh interface ipv6 6to4 set state disabled
netsh interface ipv6 set teredo disabled

Server CoreマシンにVirtioドライバをインストールする

エクスプローラーが使えないので、NotepadからGUIを開く。

QEMU Guest Toolsもインストールしておく。

再起動する

shutdown -r -t 0

準仮想化のNICが認識されていればOK。本番環境では、SConfigから更新プログラムもインストールしておく。

Azure Application Proxyの検証

Apache Guacamoleへの接続をテストする。

事前認証をパススルーにすると、AAD認証なしとなる。

動作確認

WAN IPが自分自身のためか、AAD認証でタイムアウトする。モバイルネットワークで接続したところ接続できた。

速度はExcel/Wordであれば問題なし。PowerPointの編集など、画像データが多いとワンテンポ待たされる。

サービス状況確認

AAD Connectorと違い、GUIで確認する方法はなさそう。サービスで確認する。

Get-Service | Where {$_.Name -like "WAP*"}

RDSなしでRDゲートウェイ構築① ~準備編~

RDゲートウェイは、RDSとのセット利用が必須と思っていたが、単体でも使えるとのこと。以下のサイトを参考にして、RDP3389をHTTPS443でカプセル化するための、単機能として使えるかテストする。

ADユーザとグループ作成

$password = ConvertTo-SecureString "[email protected]" -AsPlainText -Force
New-ADUser -Name RDGtestUserA -AccountPassword $password -ChangePasswordAtLogon $false -CannotChangePassword $false -PasswordNeverExpires $true -Enabled $true
New-ADGroup -Name RDGtestGroup -GroupScope Universal -GroupCategory Security
Add-ADGroupMember -Identity RDGtestGroup -Members RDGtestUserA

# ユーザ確認
Get-ADUser -Filter {sAMAccountName -like "RDG*"} -Properties * | select displayName,name,enabled,sAMAccountName,canonicalName | ft
# グループ確認
Get-ADGroup -Filter {sAMAccountName -like "RDG*"} -Properties * | select displayName,name,enabled,sAMAccountName,canonicalName | ft

役割インストール

Install-WindowsFeature RDS-Gateway -IncludeManagementTools
# RDゲートウェイマネージャ起動
tsgateway.msc

証明書インポート

前回のエントリで作成した、自己証明書をインポートする。

PowerShellで自己証明書発行

以下のサイトを参考にし、RDGateway用に発行できるかテスト。

コマンド

$hostname = Read-Host "ADのFQDNを入力してください"
$cert = New-SelfSignedCertificate -Subject $hostname -DnsName $hostname -CertStoreLocation "cert:\LocalMachine\My" -KeyAlgorithm RSA -KeyLength 2048 -KeyExportPolicy NonExportable -NotAfter (Get-Date).AddYears(10)

エクスポートとインポート

$cerfile = "$hostname.cer"
Export-Certificate -Cert $cert -FilePath $cerfile
Import-Certificate -FilePath $cerfile -CertStoreLocation "cert:\LocalMachine\Root" 
certlm.msc

参考サイト

ProxmoxのVMにRDSインストール

まずProxmoxシェルでネスト仮想化設定を確認する。YになっていればOK。

# Intel CPU
cat /sys/module/kvm_intel/parameters/nested
# AMD CPU
cat /sys/module/kvm_amd/parameters/nested

もしNの場合は以下を参照し修正する。

https://pve.proxmox.com/wiki/Nested_Virtualization

VMのCPU設定を変更

VMごとにCPU設定をしていないとこのようなエラーになる。

「既定」からhostに変更する。

役割のインストール

GUIからインストールする。

おそらく二重ネストが原因で、VMが非常に遅くなったため、構成を見直して再テストする。