異なるOSバージョンのスクリプトを使用したActive Directoryでのプリンターの管理

はじめに



画像

このトピックでは、Active Directoryを使用してプリンターを自動的にインストール、削除するときにつまずく可能性のあるレーキについて詳しく説明します。


プリンターインストールのためのADの準備


Active Directoryは稼働中であると想定されます。 組織単位が作成され、ユーザーが起動され、コンピューターが追加されます。ユーザーには管理者権限がありません。
最初に、3つのことを行う必要があります。
  1. OSのバージョンとアーキテクチャごとにコンピューターを分離します。
  2. プリンタードライバーを保存するネットワークフォルダーを選択します。
  3. プリンタードライバーをダウンロードして、手順2で作成したすべてのアーキテクチャのネットワークフォルダーに解凍します。

アーキテクチャとOSバージョンによってコンピューターを分離する

ターゲットコンピューターが異なる組織単位にあり、アーキテクチャが異なる場合のケースについて説明します。
  1. 各アーキテクチャとOSバージョンに対応するセキュリティグループを作成します。たとえば、win_x64、win_x32です。 (コンピューターパークにはWindows XP x32またはWindows 7 x64があるため、2つのグループのみを使用しました。)
  2. わかりやすい名前でポリシーを作成し、これらのポリシーへのアクセスを前の段落のセキュリティグループのみに制限します。 例:「x32プリンターポリシー」、win_x32グループのメンバーのみへのアクセス。
  3. 作成されたポリシーをすべての組織単位に適用します。 私の意見では、これを行う最善の方法は、すべてのOUを1つに入れ、それに新しいポリシーを適用することです。
  4. それぞれ他のアーキテクチャとバージョン用に、win_x32グループのx32 OSアーキテクチャメンバーを使用してコンピューターを作成します。

したがって、特定のポリシーを異なるOU(組織単位)のコンピューターに適用する機会があり、これは非常に便利です。 シンプルで信頼性の高い。
分離は他の方法で編成することもできますが、この記事ではこれらのオプションを検討しません。

ネットワークフォルダー

ドメインのすべてのユーザーとコンピューターがアクセスできるネットワークフォルダーが作成されます。 この段階を詳細に描く必要はないと思います。 フォルダーのアクセス許可は読み取り専用です。

ドライバー

  1. すべてのバージョンとアーキテクチャのドライバーをダウンロードします。
  2. INFファイルの状態に解凍します。 レーキ番号1 。 これで問題が発生した場合、ほとんどの場合、ドライバーはプリンターがインストールされているマシンの隠しPRINT $ボールにあります。 そこから取られます。
  3. これらのファイルをネットワークフォルダーにコピーします。 便宜上、サブフォルダーで分割します。

これで、展開に進むことができます。

展開


展開は2段階で行われます。
  1. ドライバーインストールスクリプトの作成。
  2. ユーザーをプリンターに接続するスクリプトを作成します。

注意! Rake No. 2条項1はWindows Vista以降にのみ関連します。WindowsXPのドライバーは一般ユーザーとしてインストールされ、管理者権限を必要としないためです。 奇妙なことに。

ドライバーインストールスクリプト

このスクリプトは、「コンピューターの構成」-「ポリシー」-「Windowsの構成」-「スクリプト(開始/終了)」-「スタートアップ」セクションに配置されます。
次の内容の.BATファイルを作成します。
rundll32 printui.dll,PrintUIEntry /ia /m "< 1>" /h "x64" /v "Type 3 - User Mode" /f "< INF /x64/>"
rundll32 printui.dll,PrintUIEntry /ia /m "< 2>" /h "x64" /v "Type 3 - User Mode" /f "< INF /x64/>"

Rake No. 3プリンターの名前は、ドライバーが既にインストールされているマシンのWindowsプリントサーバーのプロパティで確認できます。 確かにinfファイルにあります。

これで、システムの起動時にプリンタードライバーが自動的にインストールされます。 Windows Vista以降を搭載したすべてのコンピューターに適用した場合、スクリプトがプリンターに接続すると、権限が不十分であるというエラーは表示されません。

スクリプトプリンター接続

このスクリプトは、「ユーザー構成」-「ポリシー」-「Windows構成」-「スクリプト(ログイン/ログアウト)」-「ログイン」セクションに配置されます。
どちらのアーキテクチャでも、スクリプトは同じです。
rem "officeprint" server
rundll32 printui.dll,PrintUIEntry /in /n \\server\officeprint /q
rem "print" server1
rundll32 printui.dll,PrintUIEntry /in /n \\server1\print /q
rem
rundll32 printui.dll,PrintUIEntry /in /n \\server1\print /y /q

これで、ユーザーがシステムにログオンすると、プリンターが自動的にユーザーに接続され、デフォルトでserver1の「印刷」プリンターが選択されます。

自動プリンター削除



すべてが非常に簡単です。
このコンテンツで.BATファイルを作成します。
REG DELETE "HKEY_CURRENT_USER\Printers\Connections" /f
次に、システムからユーザーを終了するスクリプトにします。
次回ユーザーがネットワークにログオンするとき、ユーザーはポリシーによってプリンターのみをインストールします。
プリンタをあるプリントサーバーから別のプリントサーバーに移動するときに便利です。
Rake No. 4レジストリブランチの削除は、プリンターを接続する前にログインするときではなく、ユーザーがログアウトするときに行うのが最適です。
これには、印刷サービスの再起動が必要で、長時間再起動する場合があります。 これには、サービスがまだ開始されておらず、接続スクリプトがすでに機能しており、エラーが発生しているという状況が伴います。

プリンタードライバーの自動削除


この操作は、ドライバーを更新するときに必要になる場合があります。

手動で削除することをお勧めしますが、プリンタが多数ある場合は、次のコマンドでこれを実行します。
rundll32 printui.dll,PrintUIEntry /dd /m "< >"
Rake No. 5再トリガーされると、このようなコマンドを含むスクリプトエラーを生成し、ユーザーを行き止まりに導く可能性があります。

Source: https://habr.com/ru/post/J135426/


All Articles