RDP」タグアーカイブ

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*"}

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

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

参考サイト

Apache Guacamole パフォーマンステスト

前回のエントリでDockerにデプロイしたGuacamoleの検証をする。

接続確認

ポートを80にしたので、ホスト名入力だけで接続できる。guacadmin/guacadminでログイン。

VMにネイティブインストールする場合と違い、最初から日本語化されていた。

Windows VMへの接続作成

同時接続制限など、新しい項目が追加されていた。GPOで制限するよりも手軽かもしれない。

NLA認証をAnyにして接続。デフォルトだと最軽量の設定。

動作テスト

負荷テストのため、リッチグラフィックの設定にしてみる。

カラー深度とスケーリングの設定も変更。

動画再生は15fps程度。メディアファイルはローカル処理させたほうが良い。

動画再生すると、GuacamoleホストCPU使用率が20%を超えた。メモリは変化なし。

ブラウザのサイズを変えると、解像度もリニアスケールする。

PowerShellでリモートサーバーを管理する

Windows ServerはRDP接続して管理されることが多いが、LinuxのようにSSH接続してメンテできれば早い。使用ポートは5985。

ファイアウォールを無効化

接続されるVM側で無効化する(NWセキュリティはルータまたはProxmoxで行う前提)。

Get-NetFirewallProfile | Set-NetFirewallProfile -Enabled false
Get-NetConnectionProfile
Get-NetFirewallProfile | Select Name,Enabled
FWを無効化、現在のNWプロファイルを確認
FWが無効化されていることを確認

WinRMの設定

接続されるVM側でリモートアクセスを有効化する。

WinRM QuickConfig

TrustedHostsの設定

信頼ホストを登録。WokGroup環境のみ必要で、AD参加済みであれば不要。Valueにはお互いのIPアドレスを入れる。PSRemotingも有効化する。

Set-Item WSMan:\localhost\Client\TrustedHosts -Value *
Enable-PSRemoting

リモート接続

Enter-PSSession -ComputerName ws2022-vm

これでRDP接続の画面切り替えをする必要なくリモート管理ができる。GUIに関連するInvoke-Itemなどは使えない。