Azure 仮想マシンに PowerShell で接続する

皆さん、こんにちは。

Azure 仮想マシンPowerShell で接続する方法を紹介します。
リモート デスクトップ接続ができなくなった時や、PowerShell でちょちょっと操作したい時に便利です。

接続元クライアントでの設定

まずは接続元クライアントで、接続先ホストを信頼する必要があります。
以下のコマンドで信頼します。

> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "<接続先ホスト名>"

# 例) TestVM01.cloudapp.net を信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value TestVM01.cloudapp.net

# 例) 12.34.56.78 を信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value 12.34.56.78

# 例) 全てのホストを信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value *

Windows Remote Management (WinRM) サービスが起動している必要があります。

Azure 仮想マシン (クラシック) に PowerShell で接続する

Azure 仮想マシン (クラシック) で作成した仮想マシンは、既定で 5986 番ポートの WinRM が許可されています。
以下のコマンドで接続します。
※エンドポイントで 5986 を開ける必要があります。(新規作成時に既定で許可されています)

> Enter-PSSession -Computer "<接続先ホスト FQDN or IP アドレス>" -Port 5986 -Credential "<接続先ホストの管理者権限のあるユーザー名>" -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
# ポップアップで -Credential のパスワードを入力します。

# 例) TestVM01.cloudapp.net に yaimairi ユーザーで接続する場合
> Enter-PSSession -Computer TestVM01.cloudapp.net -Port 5986 -Credential yaimairi -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)

# 接続が完了すると、行頭に 接続先ホスト名が表示されます。
[TestVM01.cloudapp.net]: PS C:\Users\yaimairi\Documents> 

Azure 仮想マシン (リソース マネージャー) に PowerShell で接続する

Azure 仮想マシン (リソース マネージャー (ARM)) で作成した仮想マシンは、既定で 5985 番ポートの WinRM が許可されています。
以下のコマンドで接続します。
※ネットワーク セキュリティ グループ (NSG) で 5985 を開ける必要があります。

# クラシックと違い -UseSSL や -SessionOption が必要ないです
> Enter-PSSession -Computer "<接続先ホスト FQDN or IP アドレス>" -Port 5985 -Credential "<接続先ホストの管理者権限のあるユーザー名>"
# ポップアップで -Credential のパスワードを入力します。

# 例) 12.34.56.78 に yaimairi ユーザーで接続する場合
> Enter-PSSession -Computer 12.34.56.78 -Port 5985 -Credential yaimairi

# 接続が完了すると、行頭に 接続先ホスト名が表示されます。
[12.34.56.78]: PS C:\Users\yaimairi\Documents> 

Windows 10 の PowerShell で Backspace の音を消す方法 + PowerShell のプロファイル

皆様、こんにちは

Windows 10PowerShell で、Backspace を押したときに消せる文字がないと ピ と音が鳴るようになりました。
これは、Windows 10PowerShell が、既定で "PSReadline" モジュールをロードするようになったからです。

この音が非同期で再生されたらいいものの、律儀に 1 つずつ丁寧に鳴ります。
結果、Backspace を連続して押してしまったときには、しばらく ピピピピピピピピピピピ と鳴り続けることに…。

これは、音が出る環境の方には、なかなかつらいですね。
今回は、この音を消す方法を紹介します。

音を消す方法

PowerShell で以下のコマンドを入力することで、この音を消すことができます。

 > Set-PSReadlineOption -BellStyle None

これで、音がならなくなります
しかし、このコマンドは、現在のセッションに対してのみ有効となるため、別のウィンドウを起動するとまた鳴ってしまいます。

Set-PSReadlineOption
Set-PSReadlineOption
Customizes the behavior of command line editing in PSReadline.
・・・
-BellStyle
Specifies how PSReadLine should respond to various error conditions or user prompts. If you do not specify this parameter, the default response is Audible.

既定の設定にする

PowerShell には、プロファイルがあります。
このプロファイルに、自分だけの設定 (例えば、モジュールの読み込み や エイリアスの設定、関数の追加 等) を追加することで、PowerShell 起動時に自動的に適用できます。

プロファイルには、以下の 4 種類があります

  • AllUsersAllHosts : すべてのユーザー、すべてのホスト (C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1)
  • AllUsersCurrentHost : すべてのユーザー、現在のホスト (C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1)
  • CurrentUserAllHosts : 現在のユーザー、すべてのホスト (%USERPROFILE%\Documents\WindowsPowerShell\profile.ps1)
  • CurrentUserCurrentHost : 現在のユーザー、現在のホスト (%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1)

ユーザーは、現在 PowerShell を実行しているユーザーのことです。
ホストとは、Windows PowerShell をホストするプログラムのことです。
代表的なものに、PowerShell ISE がありますね。
なので、PowerShell でも PowerShell ISE でも、他の PowerShell をホストするプログラム 全てに適用したい場合は、AllHosts となります。

基本的には、各ユーザー・各ホストごとに設定しておくのが良いです。

では、先ほどの Set-PSReadlineOption -BellStyle None をプロファイルに追加してみましょう。
まずは、以下のコマンドを実行し、プロファイルの .ps1 ファイルを開きましょう。

 > notepad $PROFILE

$PROFILE のみで実行していただくと分かりますが、これは、$PROFILE.CurrentUserCurrentHost と同じパスが返ってきます。
もし、すべてのユーザー、すべてのホスト に適用したい場合は、下のようになります。

 > notepad $PROFILE.AllUsersAllHosts

上のコマンドを実行すると、メモ帳が起動し、プロファイルを保持している .ps1 ファイルが開きます。
既存のプロファイルがない場合は、以下のポップアップが表示されるので、[はい] をクリックします。

f:id:yaimairi:20160909224841p:plain
※この画像では、$PROFILE.AllUsersAllHosts を開いた場合のパスになっています。

起動したメモ帳に先ほど入力した Set-PSReadlineOption -BellStyle None を入力し、[ファイル] - [上書き保存] をクリックしましょう。
※AllUsers が含まれるプロファイルの場合は、保存するために管理者権限が必要となります。
そのため、PowerShell を管理者権限で起動しましょう。

上書き保存が終わったら、PowerShell の新しいウィンドウを開いてみましょう。
どうですか?音が鳴らなくなりましたか?

これで、次回以降も音が鳴らない快適な PowerShell が開きます!

about_Profiles
Windows PowerShell プロファイル

クイック アシスト について

みなさん、こんにちは。

Windows 10 RS1 (Build 14393) で、これまでのリモート アシスタンス (Msra.exe) に代わる
"クイック アシスト (quickassist.exe)" が搭載されました。
※リモート アシスタンス (msra.exe) は残っています。

クイック アシストの使い方

まずは、クイック アシストを起動します。
Win + R キーを押し、[ファイル名を指定して実行] にて、"quickassist" と入力し、[OK] をクリックします。
(または、[スタート] - [すべてのプログラム] - [Windows アクセサリ] - [クイック アシスト] をクリックします。)

起動すると、このような画面が表示されます。

f:id:yaimairi:20160825221728p:plain

ここで、[支援を受ける] 側と [支援を提供する] 側でそれぞれ操作をします。

支援を受ける側 1

支援を受ける側は、[支援を受ける] をクリックしましょう。
クリックすると、下のような 6 桁のセキュリティ コードを入力する画面になります。

f:id:yaimairi:20160825221900p:plain

支援を提供する側から通知されるセキュリティ コードを待ちましょう。

支援を提供する側 1

支援を提供する側は、[支援を提供する] をクリックしましょう。
すると、Microsoft アカウントのサインイン画面が表示されますので、サインインしましょう。
Microsoft アカウントによる認証があるので、信頼性も保たれますね。

f:id:yaimairi:20160825222107p:plain
(※現在のユーザーが、Microsoft アカウントでログインしている場合は、自動的にログオンされます。)

表示された 6 桁のセキュリティ コードを、[支援を受ける] 方に通知しましょう。
口頭で伝えてもいいですし、"クリップボードにコピー", "メールの送信" などもあります。
[指示を提供する] をクリックすると、[支援を受ける] 側への指示が表示されます。

f:id:yaimairi:20160825222833p:plain

支援を受ける側 2

6 桁のセキュリティ コードを受け取ったら、テキスト ボックスに入力し、[送信] をクリックします。

f:id:yaimairi:20160825223125p:plain

[接続中] というメッセージが表示され、しばらくするとアクセス許可を求めるメッセージが表示されます。
ここで、[支援を提供する] 側が、正しい名前であるかを確認してから、[許可] をクリックしましょう。

f:id:yaimairi:20160825230252p:plain

支援を提供する側 2

支援を受ける側が [許可] をクリックするまで待ちましょう。
許可が下りれば、このように支援を受ける側のデスクトップ画面が表示され、操作が可能となります。

f:id:yaimairi:20160825223912p:plain

クイック アシストで できること

支援を提供する側は、以下の操作ができます。(現在確認できている限り)

  • マウス操作
  • キーボード入力
  • クリップボードのコピー & ペースト
  • インクの描き込み ([コメント] 機能)

[コメント] 機能を使うと、このように画面上にインクを描けます。
なお、バグなのか、赤色以外に切り替えようとしても切り替わらず、他の色が使えません。

f:id:yaimairi:20160825224946p:plain


また、以下のようなできないこともあります

  • 特定のキーボードのショートカット キー

できない例) Win + R, Win + E, Ctrl + Alt + Del (End), Ctrl + Shift + Esc など
できる例) Ctrl + C, Ctrl + V, Ctrl + Z, Ctrl + A など

  • 2 GB を超えるファイルのコピー

※これは、リモート デスクトップ接続での制限と同じですね。

補足

クイック アシストは、すべて HTTPS (ポート 443) を使って通信していました。
また、支援を受ける側では、[システムのプロパティ] の "リモート アシスタンス" や "リモート デスクトップ" が許可されていなくても、クイック アシストで支援を受けることができました。


困っている方を支援する時などに、ぜひ活用しましょう!

Windows 10 の [設定] アプリを表示するショートカット キー

こんにちは。
何を書こうか悩み始めて 25 分ぐらい経過したので、簡単なものを。

Windows 10 で、[コントロール パネル] とは別に、[設定] アプリで様々な設定が行えるようになりました。(どちらかに統一してほしいという気持ちは一旦抑えて…。)
この [設定] アプリを一発で起動するショートカットが

Win + I

です。

f:id:yaimairi:20160823235418p:plain

これで一発で、[設定] が開けます。
ご活用くださいませ。

問題ステップ記録ツール (PSR.exe) について

こんにちは。
全然更新していなかったけど、久々に更新します。

今回は、自動で画面キャプチャーを取得してくれる 問題ステップ記録ツール (PSR.exe) について紹介します。

問題ステップ記録ツール ってどんなの?

このツールは、マウス操作 (クリック、右クリック、マウス スクロール 等) や キーボード操作を行った際に、
自動的に どのウィンドウ の どのコンテンツ を操作したかを、画面キャプチャーで記録してくれ、一つのファイルにまとめてくれます。
Windows 7 以降で OS 標準で搭載されています。

例えば、何かトラブルが起きて、その再現手順やどのような問題が起こるかを
このツールを使えば、一発で簡単に記録できます。
また、操作手順を他の人に教える時などにも便利です。

基本的な使い方

まずは、基本的な使い方です。

Win + R キーを押し、[ファイル名を指定して実行] にて、"psr" と入力し、[OK] をクリックします。
(実態は、C:\Windows\System32\psr.exe になります。)
すると、このような小さなウィンドウが表示されます。

f:id:yaimairi:20160822000245p:plain

あとは、[記録の開始] を押して、実際の操作をするだけ。

クリックしたタイミングで、マウス カーソルの部分に、赤い丸が表示されます。
これが表示されたタイミングで、画面キャプチャーが行われます。

一連の操作が終わったら、[記録の停止] を押しましょう。
停止すると、どんな風にキャプチャーされているかのプレビューが表示されます。

f:id:yaimairi:20160822000616p:plain

ファイルに保存したい場合は、[保存] をクリックし、名前を付けて保存します。
保存するファイルは、.zip ファイルとなり、解凍すると .mht ファイルが現れます。
この .mht ファイルを Internet Explorer で開くと、先ほどのプレビューと同じように見れます。

ツールの設定

psr.exe の [?] 横の ▼ をクリックし、[設定] をクリックします。

f:id:yaimairi:20160822001511p:plain

以下の設定が行えます。

f:id:yaimairi:20160822002001p:plain

  • ファイルの保存先

[記録の停止] を押した際に、自動的に設定したファイル名 .zip でファイルを保存します。なお、既に同じファイル名がある場合は上書きされるのでご注意を。

  • 画面の取り込み (有効 / 無効)

画面のキャプチャーを有効にするか無効にするかの設定。無効にすると、説明文だけが記録されます。

  • 取り込みが増数 (既定 : 25)

画面の取り込み枚数を設定できます。既定は 25 枚で、最大 999 枚まで設定可能。

なお、設定は、psr.exe を終了すると消えるので、毎回設定が必要です。

もっと詳細な設定 / コマンドラインからの実行

コマンドラインから実行すれば、より詳細な設定が行えます。
基本的なコマンドは、以下の通り。

# 記録の開始
> psr /start /output <ファイルパス.zip>

# 記録の停止
> psr /stop

コマンドラインからの実行では、色々なオプションがあります。

Problems Step Recorder (PSR.exe) Command Line Options

psr.exe [/start |/stop][/output <fullfilepath>] [/sc (0|1)] [/maxsc <value>]
    [/sketch (0|1)] [/slides (0|1)] [/gui (o|1)]
    [/arcetl (0|1)] [/arcxml (0|1)] [/arcmht (0|1)]
    [/stopevent <eventname>] [/maxlogsize <value>] [/recordpid <pid>]

/start            :Start Recording. (Outputpath flag SHOULD be specified)
/stop            :Stop Recording.
/sc            :Capture screenshots for recorded steps.
/maxsc            :Maximum number of recent screen captures.
/maxlogsize        :Maximum log file size (in MB) before wrapping occurs.
/gui            :Display control GUI.
/arcetl            :Include raw ETW file in archive output.
/arcxml            :Include MHT file in archive output.
/recordpid        :Record all actions associated with given PID.
/sketch            :Sketch UI if no screenshot was saved.
/slides            :Create slide show HTML pages.
/output            :Store output of record session in given path.
/stopevent        :Event to signal after output files are generated.

PSR Usage Examples:

psr.exe
psr.exe /start /output fullfilepath.zip /sc1 /gui 0 /record <PID>
    /stopevent <eventname> /arcetl 1

psr.exe /start /output fullfilepath.xml /gui 0 /recordpid <PID>
    /stopevent <eventname>

psr.exe /start /output fullfilepath.xml /gui 0 /sc 1 /maxsc <number>
    /maxlogsize <value> /stopevent <eventname>

psr.exe /stop

ちなみに、一般的なコマンドのヘルプを出す /help や /? は、うまく働かない様子…。

PowerShell でリモート デスクトップ サービス構築を行う @ Windows Server 2012 R2 ~自動化編~

こんにちは。

前回、Windows Server 2012 R2 で、PowerShell の RemoteDesktop モジュールを使って、
リモート デスクトップ サービスの展開方法を紹介しました。
yaimairi.hateblo.jp

今回は、PowerShell スクリプトを用いて、スクリプトを実行するだけで、あとは待つだけ!という状態にしましょう。

先に完成形をお見せします。
rds_auto_deploy_1.ps1

#展開するサーバー名を設定
echo "展開するサーバー名を入力してください。"
$server = Read-Host "HostName"

#自動ログオンのレジストリ設定
echo "再起動後の自動ログオンのためのパスワードを入力してください。"
$DefaultPassword = Read-Host -AsSecureString "Password"
$decodePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($DefaultPassword))

$DefaultUserName = $env:USERNAME
$DefaultDomainName = $env:USERDOMAIN

$RegLogonKey = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

Set-itemproperty -path $RegLogonKey -name "AutoAdminLogon" -value 1
Set-itemproperty -path $RegLogonKey -name "DefaultUsername" -value $DefaultUserName
Set-itemproperty -path $RegLogonKey -name "DefaultPassword" -value $decodePassword
Set-itemproperty -path $RegLogonKey -name "DefaultDomainName" -value $DefaultDomainName

#RunOnce レジストリキーで、再起動後に自動的にスクリプトを開始
$RegRunOnceKey = "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
$powershell = ("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe")
$restartKey = "Restart-And-RunOnce"

$script = (Split-Path $MyInvocation.MyCommand.Path) + "\rds_auto_deploy_2.ps1 -ConnectionBroker $server -WebAccess $server -SessionHost $server -LicenseServer $server"

#RunOnceキーにセット
Set-itemproperty -path $regrunoncekey -name $restartkey -value "$powershell $script"

#必要な役割のインストール
#CB のインストール
Add-WindowsFeature -Name RDS-Connection-Broker -ComputerName $server
#WA のインストール
Add-WindowsFeature -Name RDS-Web-Access -ComputerName $server
#LS のインストール
Add-WindowsFeature -Name RDS-Licensing,RDS-Licensing-UI -ComputerName $server
#SH のインストール
Add-WindowsFeature -Name RDS-RD-Server -ComputerName $server

#再起動
shutdown -r -t 0

rds_auto_deploy_2.ps1

Param(
[string]$ConnectionBroker,
[string]$WebAccess,
[string]$SessionHost,
[string]$LicenseServer
)

#RemoteDesktop モジュールのインポート
Import-Module RemoteDesktop

#構築
New-SessionDeployment -ConnectionBroker $ConnectionBroker -WebAccessServer $WebAccess -SessionHost $SessionHost 
#セッション コレクションの作成
New-RDSessionCollection -CollectionName TestCollection -SessionHost $SessionHost -ConnectionBroker $ConnectionBroker 
#ライセンス サーバー/モードの指定
Set-RDLicenseConfiguration -LicenseServer $LicenseServer -Mode PerUser -ConnectionBroker $ConnectionBroker -Force
#RemoteApp の公開
New-RDRemoteApp -CollectionName TestCollection -Alias cmd -DisplayName cmd -FilePath "C:\Windows\System32\cmd.exe" -ShowInWebAccess 1 -ConnectionBroker $ConnectionBroker 

#ここに、自動ログオンのレジストリを削除
$RegLogonKey = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Remove-itemproperty -path $RegLogonKey -name "AutoAdminLogon"
Remove-itemproperty -path $RegLogonKey -name "DefaultUsername"
Remove-itemproperty -path $RegLogonKey -name "DefaultPassword"
Remove-itemproperty -path $RegLogonKey -name "DefaultDomainName"

#一応もう一回再起動
shutdown -r -t 0

全体的な流れとしては、
1. 展開先のサーバー名を指定
2. 再起動後の再ログインのためのパスワードを設定
3. 再起動後に実行する PowerShell スクリプトを RunOnce レジストリに設定
4. 役割のインストール と再起動
5. 前回紹介した、リモート デスクトップ サービスの展開
となります。

<ユーザー入力>

PowerShell スクリプトで、ユーザー入力を受け付けるには、

Read-Host

を使用します。
また、パスワードの設定など Secure String を使う際は

Read-Host -AsSecureString

とします。

<自動ログオンの設定>

自動ログオンを行う際は、以下のレジストリを設定します。

HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
 - AutoAdminLogon : 自動ログオンを行うかどうか
 - DefaultUsername : 自動ログオンに使うユーザー名
 - DefaultPassword : 自動ログオンに使うパスワード
 - DefaultDomainName : ユーザーのドメイン名

<RunOnce レジストリの設定>

次回ログオン時に、一回だけ自動で実行したい時などに役立つレジストリが、RunOnce レジストリです。

HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce

このレジストリに、自由な名前を決めて、値に実行コマンドなどを仕込めば、
次回ログオン時に実行されて、実行されたら自動で削除される優れものです!

今回は、再起動後に、リモート デスクトップ サービスを展開するスクリプト (rds_auto_deploy_2.ps1) を実行するように設定しています!

PowerShell スクリプトのパラメーター>

PowerShell コマンドレットでよく見る、"-なんたら" のオプション。
これを、自分で作ることもできます!

Param(
[string]$option,
[switch]$flag,
)

[string] や [int] などとすると、-option の後に設定する値を書けます。
[switch] とすると、フラグのような処理ができます。(-Force とかの値が必要ないオプション)
[switch] の場合は、if 文で $true か $false で条件分岐ができます!

PowerShell スクリプトの実行>

既定では、PowerShell スクリプトの実行に制限がかかってることがあります。
そんな時は、Set-ExecutionPolicy コマンドレットで、PowerShell スクリプトを実行できるようにしましょう!
詳しくは、こちらを参考にしてくださいー
https://technet.microsoft.com/ja-jp/library/ee176961.aspx


こんな感じで、PowerShell スクリプトを一つ実行しちゃえば、
あとは待つだけでぜーーーんぶやってくれます!

あとは、Param をカスタマイズしたりして、一台のサーバーだけでなく、
別々のサーバーに各役割をインストールしたりすることができそうです。

PowerShell でリモート デスクトップ サービス構築を行う @ Windows Server 2012 R2

こんにちは。

 

検証環境で リモート デスクトップ サービスを構築することが多いので、少しでも効率化しようと、PowerShell の RemoteDesktop Module を使って、リモート デスクトップ サービス構築の自動化を行ってみました。

今回はそれを紹介したいと思います。

 

また、Windows Server 2012 および 2012 R2 での標準的なリモート デスクトップ 構築は、こちらの情報があります。

Windows Server 2012 標準的なリモート デスクトップ サービス環境構築手順について - Ask CORE - Site Home - TechNet Blogs

今回は、ドメイン環境で RD 接続ブローカー、RD Web アクセス、RD セッション ホスト、RD ライセンスをすべて 1 台のマシンにインストールし、構築します。

複数台で構成される場合は、<サーバー名> と表示されている部分に、適切なサーバー名を指定してください。

<役割の追加>

まずは、Install-WindowsFeature を使って、以下の役割をインストールします。

  • RD 接続ブローカー:RDS-Connection-Broker
  • RD Web アクセス:RDS-Web-Access
  • RD セッション ホスト:RDS-RD-Server
    ※RD セッション ホストの役割を入れるサーバーは、再起動が必要になります。
  • RD ライセンス:RDS-Licensing, RDS-Licensing-UI
    ※リモート デスクトップ ライセンス マネージャーもインストールします。
> Install-WindowsFeature -Name RDS-Connection-Broker -Computer <サーバー名>
> Install-WindowsFeature -Name RDS-Web-Access-Computer <サーバー名>
> Install-WindowsFeature -Name RDS-Licensing,RDS-Licensing-UI -Computer <サーバー名>
> Install-WindowsFeature -Name RDS-Connection-Broker -Computer <サーバー名> -Restart

f:id:yaimairi:20151205232710p:plain

<リモート デスクトップ サービスの展開>

再起動が終わったら、リモート デスクトップ サービスの展開を行います。

まず初めに、PowerShell モジュールをインポートします。

> Import-Module RemoteDesktop

こうすることで、RemoteDesktop 関連のコマンドレットが使用できるようになります。

RemoteDesktop モジュールに含まれているコマンドレットは以下の情報を参考にしてください。

Remote Desktop Cmdlets in Windows PowerShell

 

RD 接続ブローカー、RD Web アクセス、RD セッション ホストをセッション ベースとして展開します。

> New-RDSessionDeployment -ConnectionBroker <サーバー名> -WebAccessServer <サーバー名> -SessionHost <サーバー名>

続いて、セッション コレクションを作成します。

> New-RDSessionCollection -CollectionName <コレクション名> -SessionHost <サーバー名> -ConnectionBroker <サーバー名>

ここまでで、とりあえず、リモート デスクトップ接続は行えるようになります。

リモート デスクトップ接続が可能なユーザーは、既定で DomainUsers になっております。変更する場合は、Remote Desktop Users グループを変更してください。

<ライセンス サーバー と ライセンス モードの指定>

セッション ホスト サーバーで、ライセンス サーバーとライセンス モードを指定します。ライセンス モードは、PerUser (接続ユーザー数) と PerDevice (接続デバイス数) を指定します。

> Set-RDLicenseConfiguration -LicenseServer <サーバー名> -Mode <ライセンス モード {PerUser, PerDevice}> -ConnectionBroker <サーバー名> -Force

<RemoteApp プログラムの公開>

RemoteApp プログラムを、以下のコマンドで公開します。

> New-RDRemoteApp -CollectionName <コレクション名> -Alias <エイリアス名> -DisplayName <表示名> -FilePath <実行プログラムのファイルパス> -ShowInWebAccess 1 -ConnectionBroker <サーバー名>

f:id:yaimairi:20151205235722p:plain

 

以上で、基本的なリモート デスクトップ サービスの展開ができます。

次回は、この PowerShell の操作を、PowerShell スクリプト ファイルに保存し、コマンド一つ叩けばあとは待つだけ! という状態にしたいと思います。