Workspace ONE UEMの機能にScriptsというものがあります。
名が体を表している機能で、PCにスクリプトを配信してそれを実行することができるという機能で、例えばWindows10であれば特定のレジストリをゴリっと変更したりなど、標準的な機能では実施できない設定変更なども行うことができます。
また、実行コンテキストの指定ができるため、利用者のアカウントに管理者権限が無い環境においてもシステム権限でスクリプトを動作させることができるため、非常に便利な機能です。
今回はScripts機能で設定を実施するのにどのような設定が必要か確認します。
例として、「ユーザーはPCの管理者権限を持たない環境で管理者権限が必要な設定を行う」ということをやってみます。
なお、日本語での機能名が一般的な用語である「スクリプト」であり、一般的な名詞としてのスクリプトなのか機能名としてのスクリプトなのか紛らわしくなるので、この投稿内では一般的な名詞の方を「スクリプト」、機能名の方を「Scripts」(英語での機能名)と記載することにします。
大まかな流れは以下の通りです。
1.スクリプトの作成
2.Scriptsの作成と配信設定
3.動作確認(デバイス側操作でScriptsを実行)
1.スクリプトの作成
まずはScripts機能で実施したい設定変更を行うためのスクリプトを作成します。(この一文を書いた後紛らわしくなったので冒頭部分に呼称の注意書きの文章を入れました。笑)
今回は「ユーザーはPCの管理者権限を持たない環境で管理者権限が必要な設定を行う」ということをテーマにしてますので、ユーザー側の操作でリモートデスクトップの有効/無効を切り替える、ということをやってみます。(実際にそういうことをするシーンがあるかどうかは置いておきます...)
まずはスクリプトを書いてみて、管理者権限を有する環境においてローカルで実行してみてキチンとRDPの有効化や無効化で出来ることを確認します。調べてみると以下のレジストリを変更することでRDPの有効/無効を切り替えられるようです。
-キー:HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server
-値の名前:fDenyTSConnections
-タイプ:Dword
-値:0なら有効、1なら無効
上記を設定するスクリプトは以下のようになります。
■有効化
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d "0" /f
■無効化
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d "1" /f
先ほどの有効化/無効化それぞれのコマンドを1行だけ書いたPowershellスクリプトファイルを作成し、なんでもいいのでWin10の管理者権限で起動したPowershellで実行して動作を確認します。
■実行前
とりあえずローカルでの実行においては問題なく設定ができたのでスクリプトの作成はこれでよしとします。
2.Scriptsの作成と配信設定
UEM管理コンソールにて、Scriptsの作成と配信設定を行います。
UEMの管理コンソールで[リソース]>[スクリプト]をクリック後、[追加]>[Windows]をクリックします。
名前は適当に決めて「AppCatalogに表示」をオンにして、「次へ」をクリックします。
ここで、あらかじめ作成しておいたスクリプトをアップロードするため「アップロード」をクリックします。
【補足】
「コード」欄に直接入力することも可能です。ここでは前段でローカルでの動作確認をスクリプトを作成して実施していたため、動作確認済みのスクリプトを使う意味でもアップロードにしています。
Scriptsを実行するタイミングを定義します。
今回は実行されるタイミングをわかりやすくわかりやすくするためPC利用者側の操作で実行できる「Hubに表示」のみ有効化し、「追加」をクリックします。
これを有効化すると対象のScriptsが1つのアプリのようにHubカタログに表示され、ユーザーは自身の操作でScriptsを実行することができるようになります。
3.動作確認(デバイス側操作でScriptsを実行)
実際にScriptsを実行して設定変更ができることを見てみます。
まずは実行前の状態を確認しておきます。RDPは有効化されていません。
【補足】
「システムのプロパティ」は管理者権限がなければ開けませんが、今回は実行前後をわかりやすくするため管理者権限を持つ別のユーザーの権限で起動しています。
管理者権限が無い場合この画面になり、管理者権限を持つアカウントの認証が求められるため、本来は管理者権限を持たないユーザーでは変更ができません。
Hubアプリを起動し、「アプリ」タブを開くと先ほど配信設定をしたScriptsが表示されています。「Run」をクリックします。
今回は設定の反映タイミングなどをわかりやすくするためにHubに表示してユーザー側の操作で設定を実施しましたが、Hubに表示せずにバックグラウンドで自動的に実行させることも可能です。
ユーザーに意識させずに設定変更をしたい場合はScriptsのトリガー設定で「定期的に実行」や「ログオン」など、何らかのイベントのタイミングで実行するようにしておく方がよいかもしれません。
コメント
コメントを投稿