安全性と安定性の維持に最適な「Windows 10 Sモード」とは(その2)――Windows 10の“使える”機能と“使えない”機能企業ユーザーに贈るWindows 10への乗り換え案内(54)

「Windows 10 Sモード」は、個人、企業、教育機関のPC向けに用意されたWindows 10のロックダウンモードです。前回に引き続き、Windows 10 Sモードのその他の制約について説明します。

» 2019年08月06日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「企業ユーザーに贈るWindows 10への乗り換え案内」のインデックス

企業ユーザーに贈るWindows 10への乗り換え案内

Windows 10の機能あれこれとSモード

 前回紹介したように、「Windows 10」の全エディションに存在する「Sモード」(プリインストールPCのみ)は、Windowsに最初から搭載されている機能やツールの他は、Microsoft Storeから入手したアプリのみを実行できる“ロックダウンモード”です。

 Sモードに搭載されている機能は通常のエディションと共通ですが、「コマンドプロンプト」や「Windows PowerShell」「Windows Script Host(WSH)」など、シェル環境の使用は許可されておらず、ブロックされます。また、Windows 10の標準機能である「Windows Subsystem for Linux(WSL)」が提供するLinuxシェル環境も、Sモードではブロックされます。

 WSLだけでなく、Windows 10のその他の主な機能についてもSモードで利用できるかどうかを実際に試してみました。具体的には、以下に挙げる5つのWindowsの機能と、2つのストアアプリ(無料)です。

●Windowsの機能

  • Hyper-V(クライアントHyper-V)
  • Windows Defender Application Guard(WDAG)
  • OpenSSHサーバ
  • Containers(Windows Serverコンテナ、Linuxコンテナ)
  • Windowsサンドボックス

●ストアアプリ

  • Python 3.7アプリ
  • Windows Terminal(Preview)アプリ

 Sモードだからといって、これらのWindows 10機能の有効化やアプリのインストールがブロックされることはありませんが、Sモードで利用できるかどうかはまた別の話です(画面1)。これらの機能やアプリとSモードとの互換性について公開されている情報はないようなので、Windows 10 Pro バージョン1803、1809、1903のSモードで実際に試してみました。

画面1 画面1 Sモードであることを理由に、特定の機能の有効化やアプリのインストールがブロックされることはない

SモードとHyper-V:利用可能

 Windows 10 Pro以上の64bit(x64)エディションでは、「クライアントHyper-V」とも呼ばれる仮想マシン環境がサポートされます。Hyper-Vのシステム要件さえ満たしていれば、SモードでもHyper-Vを有効化し、仮想マシンを作成して実行できます(画面2)。

画面2 画面2 SモードでもHyper-Vの仮想マシン環境は利用できる。ただし、Windows PowerShellを利用してのHyper-Vや仮想マシンの詳細な設定はできない

 ただし、SモードではWindows PowerShellが利用できないため、Hyper-V関連のコマンドレットを使用した詳細な管理はできません。GUI(グラフィカルユーザーインタフェース)管理ツールである「Hyper-Vマネージャー」による管理なら可能です。

SモードとWDAG:利用可能

 「Windows Defender Application Guard(WDAG)」は、Windows 10 バージョン1709のEnterpriseエディションに初めて搭載された、「Microsoft Edge」の隔離されたブラウジング環境です。Windows 10 バージョン1803からはProエディション、バージョン1903からはEducationエディションでも利用可能になりました。本連載第51回では、WDAGの最新情報を紹介しました。

 WDAGのシステム要件さえ満たしていれば、SモードでもWDAGを有効化して利用することができます(画面3)。

画面3 画面3 SモードでもWDAGは利用可能

 なお、Windows 10(バージョン1803以降)に「Windows Defender Application Guard Companion」アプリを追加することで、「Google Chrome」や「Mozilla Firefox」とWDAGを連携させることができるようになりましたが、この機能はSモードでは利用できません。

 Sモードでも、Microsoft StoreからWindows Defender Application Guard Companionアプリをインストールすることは可能です。しかし、Google ChromeやMozilla FirefoxがMicrosoft Storeで提供されていないため、Sモードの環境にこれらのブラウザを導入する方法がないのです。

OpenSSHサーバ:利用不可

 Windows 10 バージョン1803からは「OpenSSHクライアント」と「OpenSSHサーバ」が標準搭載されました。OpenSSHクライアントは既定でインストールされ、OpenSSHサーバはオンデマンド機能として追加することができます。詳しくは、本連載第45回で紹介しました。

 OpenSSHクライアントが標準で利用でき、OpenSSHサーバがオンデマンド機能として追加できることは、Sモードでも変わりません。OpenSSHサーバ(sshd)もサービスとして動作しているように見えます。OpenSSHクライアント(ssh.exe)からローカルのOpenSSHサーバに接続を開始すると、認証までは進みますが、その後、すぐにウィンドウは消えてしまいます(画面4)。

画面4 画面4 SモードでもOpenSSHサーバは正常に動いているように見えるが、認証成功後に「cmd.exe」シェルのロードがブロックされ、すぐに切断されてしまう。つまり、SモードではOpenSSHサーバは事実上、利用できない

 何が起きているのかというと、OpenSSHサーバ側ではコンソールウィンドウホスト(conhost.exe)がコマンドプロンプト(cmd.exe)をロードしようとして、Sモードによりブロックされているのです。その様子は、イベントログの「Microsoft-Windows-CodeIntegrity/Operational」ログに記録されるイベントID「3077」のエラーで追跡することができます。

 なお、SモードではコマンドプロンプトやWindows PowerShellを利用できないため、OpenSSHクライアントは「ファイル名を指定して実行」などからコマンドラインを直接実行する必要があります。使い勝手は悪いですが、外部のSSHサーバへの接続には利用できるはずです。

SモードとDocker Desktop:利用不可

 本連載第42回で最新情報を紹介しましたが、「Windows Server 2016」以降のコンテナ(Containers)機能はWindows 10でもサポートされ、コンテナベースのアプリケーション開発環境として利用できます。そもそも、Sモードは開発環境向けではありませんが、一応、試してみました。

 Windows 10のコンテナ機能の有効化は、Sモードでもブロックされることはありません。しかし、Windows 10のコンテナ機能だけでは何もできません。そのコンテナ機能と連携して、「Windows Serverコンテナ」環境や「Linuxコンテナ」環境を提供するのは「Docker Desktop for Windows」です。Docker Desktop for WindowsはMicrosoft Storeで提供されるアプリではないため、SモードのWindows 10に導入する方法がありません(画面5)。

画面5 画面5 Windows 10のコンテナ機能と連携するDocker Desktop for Windowsを導入する手段がSモードにはない

 つまり、SモードのWindows 10では、コンテナ機能は事実上、利用できないということになります。Dockerコマンドを操作するためのシェル環境(コマンドプロンプト、Windows PowerShell、WSHのLinuxシェル)もSモードでは利用できないということもあります。

SモードとWindowsサンドボックス:利用可能

 Windows 10 バージョン1903の64bit(x64)版では、「Windowsサンドボックス」というWindows 10の隔離環境が新たにサポートされました。

 Sモードでは、Windowsサンドボックスを有効化し、サンドボックス環境を起動することができました(画面6)。サンドボックス環境の中では、コマンドプロンプトを開くこともできます。これは、SモードのWindows 10で利用可能な唯一のシェル環境といえるかもしれません。しかしながら、サンドボックス環境はホストからは隔離されているため、SモードのWindows 10のホスト環境に対して何かをできるわけではありません。

画面6 画面6 SモードでもWindows 10 バージョン1903の新機能である「Windowsサンドボックス」は利用できる

SモードとPython 3.7:利用不可

 Microsoft Storeで公開されている「Python 3.7」は、プログラミング言語「Python」をWindows 10(バージョン1809以降)に簡単に導入できるようにしたアプリパッケージです。Windows 10 バージョン1903からは、「python」とタイプするとMicrosoft Storeのダウンロードページを開くようになり、初心者でも簡単に導入できるようになりました。

 SモードのWindows 10の場合は、Microsoft Storeで「Python 3.7」アプリを検索して、インストールすることができます。しかし、アプリを起動しようとしても、「MSVCP140.dllが見つからないため、コードの実行を続行できません」というエラーで終了してしまいます(画面7)。

画面7 画面7 Pythonを起動しようとしても「MSVCP140.dll」のエラーで失敗する。「MSVCP140.dll」を適切な方法で追加する手段はSモードにはない

 通常、「MSVCP140.dll」のエラーは、「Microsoft Visual C++2015再頒布可能パッケージ」をインストールすることで解消できるのですが、「Microsoft Download Center」からパッケージをダウンロードしても、Sモードによりブロックされます。つまり、SモードのWindows 10は、Pythonプログラミングに利用できないということになります。

SモードとWindows Terminal(Preview):利用不可

 Windows 10 バージョン1903に対しては、コマンドプロンプト、Windows PowerShell、WSLに対応したマルチタブのコンソールアプリ「Windows Terminal(Preview)」(現状、正式版ではありません)がMicrosoft Storeで提供されています。

 もうお分かりだと思いますが、SモードのWindows 10 バージョン1903にこのアプリをインストールすることは可能ですが、コンソールアプリとして利用することはできません。

 一瞬、ウィンドウ枠が表示され、コマンドプロンプトやWindows PowerShellのシェルをアプリで開こうとしているように見えますが、すぐにクラッシュします(画面8)。クラッシュの理由がSモードであることは、OpenSSHサーバと同じように「Microsoft-Windows-CodeIntegrity/Operational」ログに記録されるイベントID「3077」のエラーで追跡することができます。

画面8 画面8 Sモードで「Windows Terminal(Preview)」を起動しても、すぐにクラッシュする

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。