Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

RSATをインストールせずにPowerShellのActive Directoryモジュールを展開する方法

はじめに

以前の記事では、Set-ADComputerコマンドレットをGPOのログオンスクリプトで使用し、現在ログオンしているユーザーの情報を各ADコンピューターオブジェクトのプロパティに保存する方法をご紹介しました。これに対して読者から、「この方法を実行するには、すべてのユーザーコンピューターにRSAT(リモートサーバー管理ツール)とActive Directory用Windows PowerShellモジュールをインストールする必要があり、非常に手間がかかる」という妥当な指摘がありました。

そこで本記事では、ユーザーコンピューターにRSATをインストールすることなく、PowerShellのActive Directoryモジュールのコマンドレットを使用できるのかを実際に検証しました。その結果、確かに実現可能であることが分かったので、具体的な手順を詳しく解説します。

前提条件と準備

ここでは、RSATおよびRSAT-AD-PowerShellモジュールがインストール済みのWindows Server 2012 R2サーバーが存在するものとします。目的は、RSAT-AD-PowerShellのファイルをユーザーのワークステーションにコピーしてインポートし、各種ADモジュールのコマンドレットを実行できるようにすることです。

ワークステーションにはあえてWindows 10 LTSC(1809ビルドベース)を使用します。これは、古いバージョンのRSAT-AD-PowerShellでも新しいOSバージョンで問題なく動作することを示すためです。

ステップ1:ADモジュールファイルのコピー

まず、Windows Server 2012 R2からWindows 10へ、ADモジュールのすべてのファイルをコピーします。フォルダー「C:\PS\ADPoSh」を作成し、「C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory」の内容をすべてそのフォルダーにコピーしてください。

次に、以下の2つのファイルを「C:\Windows\WinSxS」フォルダーからコピーします。

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll

これらのライブラリは、WinSxSフォルダー内を検索すれば見つけられます。筆者の環境(Windows Server 2012 R2)における完全なパスは以下の通りです。

"C:\Windows\WinSxS\amd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068\Microsoft.ActiveDirectory.Management.dll"
"C:\Windows\WinSxS\amd64_microsoft.activedir..anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bc\Microsoft.ActiveDirectory.Management.resources.dll"

RSATをインストールせずにPowerShellのActive Directoryモジュールを展開する方法

ステップ2:モジュールのインポート

作成した「C:\PS\ADPoSh」フォルダー(筆者の場合、サイズは約1.3MB)を、RSATのADモジュールがインストールされていないWindows 10コンピューターにコピーします。

続いて、コピーしたActive Directoryモジュールを現在のPowerShellセッションにインポートしてみましょう。

Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.dll"
Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.resources.dll"

RSATをインストールせずにPowerShellのActive Directoryモジュールを展開する方法

モジュールが正常にインポートされれば、Get-ADUser、Get-ADComputer、Get-ADGroupなど、任意のADモジュールのコマンドレットを使用して、ADドメインの管理や情報取得が自由に行えます。

RSATをインストールせずにPowerShellのActive Directoryモジュールを展開する方法

トラブルシューティング:ADWSへの接続エラー

Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running(サーバーに接続できません。サーバーが存在しない、停止している、またはActive Directory Web Servicesが実行されていない可能性があります)」というエラーが発生した場合は、最も近いドメインコントローラー上でActive Directory Web Services(ADWS)が実行されていること、およびTCPポート9389がファイアウォールでブロックされていないことを確認してください。

ドメイン内でADWSサービスを提供しているドメインコントローラー(DC)を特定するには、次のコマンドを使用します。

Get-ADDomainController -Discover -Service "ADWS"

RSATをインストールせずにPowerShellのActive Directoryモジュールを展開する方法

ADWSサービスへの接続性は、Test-NetConnectionコマンドレットで確認できます。

Test-NetConnection DC01 -port 9389

また、特定のドメインコントローラーに対してコマンドレットを実行したい場合は、–Serverパラメーターを使用します。

Get-ADUser jbrion –server dc01.woshub.com

まとめ

PowerShellのADモジュールのコマンドレットは、PowerShellセッションを閉じるまで使用し続けられます。GPOを活用すれば、ADモジュールのファイル一式をドメイン内のすべてのコンピューターへ自動配布することも可能です。RSATのフルインストールを行わずに軽量なAD管理環境を展開できるため、ログオンスクリプトなどでの運用にも非常に便利な手法といえるでしょう。

  1. 【保存版】PowerShellでBIOS設定を表示・変更する方法(HP/Lenovo/Dell対応)

    Windowsが動作するPCでは、PowerShellを使ってBIOS設定の表示や変更を行うことができます。本記事では、WMIクラス(Windows Management Instrumentation)を通じて、HP、Lenovo、Dellといった主要ベンダーのPCのBIOS設定を取得・変更するための具体的なコマンド例を詳しく解説します。 Win32_BIOSクラスでBIOS情報を表示する まず、Win32_BIOSクラスとGet-WmiObjectコマンドレットを使って、基本的なBIOS情報を確認する方法から見ていきましょう。以下のコマンドを実行すると、コンピューターのBIOS基本パラメー

  2. Windows 10でActive Directoryを有効にする方法【RSAT導入から設定まで解説】

    Active Directoryは、Windows Server環境を管理するための重要なツールです。ネットワーク上のユーザーやリソースへのアクセス権限を、管理者が制御・付与するために使用されます。Windows PCにはデフォルトではインストールされていませんが、Microsoftの公式サイトから入手して、自分のデバイスにインストールすることが可能です。 「Windows 10でActive Directoryをどう使えばいいのか分からない」とお悩みの方も多いのではないでしょうか。本記事では、Windows 10でActive Directoryを有効にする方法を、初心者の方にも分かりやすく