Project Honoluluを試してみる

[前回](https://qiita.com/mkht/items/5e35cd8f61170399e12a)はMicrosoftが現在開発中のWindows Server用管理ツールである「Project Honolulu」について紹介しました。
今回はそのテクニカルプレビュー版を実際に試してみます。

[2017/12/02]
新バージョン(1711 build 15002)が公開されたため一部編集しました。

## テクニカルプレビュー版のダウンロード
Honoluluのプレビュー版は以下のURLからダウンロードが可能です。
https://aka.ms/HonoluluDownload

40MB弱のMSIインストーラがダウンロードされました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/177762/4d3a6977-f98f-be55-09eb-8b97bc173776.png)


## 管理用端末の用意
Honoluluをインストールする管理用のPCを用意します。
Windows 10もしくは2016以降のWindows Serverにインストール可能ですが、OSの種類によって動作が異なります。

**Windows 10にインストールした場合**
Honoluluはローカルアプリケーションとしてインストールされます。
インストール後、デスクトップショートカットなどから実行するとローカルWebサーバが起動し、
Webブラウザから`http://localhost:6516`で管理UIにアクセスできます。
（ポートはインストール時に変更可能）

**Windows Serverにインストールした場合**
Honoluluはサービスとしてインストールされます。
インストール時に指定したポートでリッスンされ、HTTPSが必須です。
HTTPSの証明書はインストール時にテスト用の自己署名証明書を作ることもできますし、
手持ちの証明書があるならそれを使うこともできます。

今回はテスト目的なので、Windows 10(1709)の仮想マシンを使うことにします。

## 事前準備
### 管理用端末
Honoluluをワークグループ環境で使用する場合のみ、TrustedHostsの設定が必要です。
PowerShellを起動し、以下のコマンドを実行してください。

```
Set-Item WSMan:\localhost\Client\TrustedHosts -Value '*'
```

ドメイン環境で使う場合はこの設定は不要です。

### 管理される側
エージェント等は不要ですが、PowerShellリモート管理を有効化しておく必要があります。
Honoluluで管理するサーバでPowerShellを起動し、以下のコマンドを実行しておいてください。
※管理される側が2012もしくは2012R2の場合は事前に[WMF5.1](https://www.microsoft.com/en-us/download/details.aspx?id=54616)のインストールが必要です

```
Enable-PSRemoting -Force -SkipNetworkProfileCheck
```

3rdパーティのファイアウォールを使用している場合はTCP:5985の受信接続を許可してください。
（Windowsファイアウォールの場合は上記コマンド実行時に自動的に許可設定されます）

## インストール
準備が整ったら管理用端末にHonoluluをインストールします。
ダウンロードしたMSIインストーラを実行し、ウィザードに従えばOKです。
オプションは全てデフォルトのままで構いませんが、
ポートをデフォルトの6516以外にしたい場合は変えてください。

<img src=https://qiita-image-store.s3.amazonaws.com/0/177762/0b784b71-e6d2-6b46-caa6-763b85833466.png width=50%>

インストールが完了したら、スタートメニューの「Project 'Honolulu'」のショートカットから起動します。
するとWebブラウザでHonoluluの管理画面が開きます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/00964070-5bc3-254b-d12c-1d4351fcf500.png" width=50%>

## 管理対象サーバの追加
Honoluluで管理するサーバを管理画面に登録します。
「+Add」から「Add Server Connection」を選び...
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/3aeffcc6-193d-1cd2-bd50-d1740ac88031.png" width=50%>

追加するサーバ名を入力。
名前解決に成功していれば緑のチェックが出ます。（名前解決できなくても追加自体はできます）

<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/98f6250a-9fe2-d476-aa0c-0b37d94effa0.png" width=50%>

「WS2016」というサーバを追加してみました。
StatusがOnlineになっていれば接続に成功しています。
![10x.png](https://qiita-image-store.s3.amazonaws.com/0/177762/5b410fe7-8b94-b0a0-d793-a8fd824b8987.png)

### 別のユーザ資格情報を使う場合
特にワークグループ環境の場合、管理用端末から管理対象サーバに接続する際に資格情報を指定しなければならないことがほとんどだと思います。
その場合は、追加したサーバを選択した状態で「Manage As」をクリックすると別の資格情報を指定できます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/1f179824-73e4-d3e8-06d8-a7d129ffae7b.png" width=50%>

## サーバを管理してみる
追加したサーバをクリックすると、そのサーバの情報が見られます。
現時点のHonoluluではまだ出来ることが限られますが、
それでも一般的な管理タスクの多くが実行できるのがわかると思います。

リソース情報を表示したり、サーバの再起動もできます
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/91166c28-db59-1bde-ac89-065dfcc63073.png" width=50%>

サーバ内のファイルを操作
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/ac9405fb-6766-9ef7-2238-40fdc6ed5130.png" width=50%>

Windows Updateを実行することもできます
<img src="https://qiita-image-store.s3.amazonaws.com/0/177762/4b528691-c5b4-eb36-d883-1955cedf470f.png" width=50%>

リモートデスクトップまで可能になりました（1711 build 01003以降）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/177762/85461600-b33a-9900-046a-485abfdf3814.png)

PowerShellコンソールも開けます（1711 build 15002以降）
GUIで管理できるのがHonoluluの良さではありますが、コンソールも使えるようになったことでより幅広い管理操作が可能ですね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/177762/4ae4c673-260f-ac80-616e-ddfd8d95e68b.png)

## 感想など
ブラウザから複数のオンプレミスサーバをサクサク管理できるのはいいですね。導入もお手軽ですし。

ある程度規模の大きいオンプレ環境を運用されているところでは、System Centerを導入していたり
自前で管理ツールを既に構築されている方も多いのではないかと思いますが、
小規模な環境ではスキルも時間も予算も限られていたりするので、
このくらいシンプルな形のほうがむしろ無理なく使えるように感じます。

詳細なドキュメント類を見つけられず試せていない（未実装？）のですが、
REST APIにも対応しているっぽい記述があるので、
API経由でいろいろなアプリケーションと連携できたりすると嬉しいことがあったりなかったりするかもしれません。

### ところで、
気づいた方も多いと思いますが、
このHonoluluって、Azureの「Server Management Tools (SMT)」というサービスによく似ていますね。

SMTというのはオンプレミス環境にゲートウェイと呼ばれる中継サーバを用意することで、
オンプレミスのサーバーをAzureの管理ポータル上でクラウド管理できるサービスだったのですが、
プレビュー版から正式版に昇格することなく今年の6月に廃止されてしまいました。

[実際のところ](https://blogs.technet.microsoft.com/servermanagement/2017/05/17/smt-preview-service-is-being-retired-on-june-30-2017/)HonoluluはこのSMTからAzure依存を排除しローカル環境のみで使えるように手直ししたもののようです。
SMTは機能として魅力的であっても、様々な理由でAzureと接続することが許されない組織も多く、
オンプレミスのみで使えるタイプが要望されていたようですね。

~~PowerShell対話コンソールなど~~ SMTにはあったけれどHonoluluには未実装の機能もいくつかあるので、
2018年の正式版公開までに機能追加が進むのではないでしょうか。

[2017/12/02]
新バージョン(1711 build 15002)でPowerShellコンソールが実装されました。