プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。

業務でWindowsサーバーの管理などをするようになりました。
このたび、ある業務用のサーバーのリプレイスが計画されており、
自分の方ではプリンタ関係の設定移行を行なうこととになりました。

そこで、

プリンタのセキュリティ(アクセス許可)設定の自動化
・ユーザーの追加
・ユーザーの削除
・アクセス許可設定の変更

通常使うプリンタの変更の自動化
・該当ユーザーでログオンしない状態での変更

を行なえないかどうか質問させて頂きたいと思います。

今回設定を行なうサーバーは、数百のユーザーがターミナルログイン
をして利用するWindowsサーバーで、各ユーザーに複数のプリンタを
設定しています。(ユーザーごとに個別のプリンタを利用)

設定数が多いため、工数はもちろん、設定ミスをなくすためにも可能な
限り自動的な設定(バッチ処理、スクリプト処理)を推奨されています。

もし出来なければ、Administrator権限で、ひとつひとつのプリンタの
「セキュリティ」タブからを設定し、各ユーザーでログインして「通常
使うプリンタ」を設定しないといけません。

なお、プリンタポートの作成、ドライバのインストール、プリンタ名の
設定まではスクリプトを使用して完了しておりますが、上記の設定で
詰まりましたので質問させて頂きました。

よろしくお願いします。

A 回答 (2件)

No1です。

よくみたら、


>ある業務用のサーバーのリプレイスが計画されており、自分の方ではプリンタ関係の設定移行

と、

>各ユーザーに複数のプリンタを設定しています。(ユーザーごとに個別のプリンタを利用)

ちょっと意味不明ですね。個別のプリンターとは100ユーザーあれば、100個のプリンターがあり、100台のプリンターの設定が必要???

論理プリンターですよね。そんなおかしな運用しているんですか。うちでも、120人が3台のプリンターにしかだしませんよ。

当然プリントサーバーがあり、エンドユーザーは、それをまうんとするだけ。プリントサーバーはファイルサーバーと一緒になっていて2台あり、ともにADの配下です。

プリントサーバー側ですでにセキュリティーを設定してあるので、クライアント側からはそれをマウントするだけ。マウントできるユーザーしかプリントできないようになっています。プリンター側もIDカードを提示しないと印刷できません。

そのユーザーはADユーザーか、特定のアドレスを持つマシンからしか印刷できないようにプリントサーバーで設定してあります。

なので、論理プリンターを作成した時に標準で付くセキュリティーしか必要ありません。

プリントサーバー(単にサーバー側のプリンターを共有するだけでいい)をマウントする形での使用をおすすめします。

>「セキュリティ」タブからを設定し、各ユーザーでログインして「通常使うプリンタ」

これも作成するときに設定できますが? これはセキュリティーとは違いますよね。

>プリンタポートの作成、ドライバのインストール、プリンタ名の設定まではスクリプトを使

これ何でやったんですか? それできれば、他もできるはずなんですが。とりあえずWMIを見れば、及び.Netをみれば、できます。

>通常使うプリンタ」を設定しないといけません。

なんて、shell.applicationでもできますよね。レジストリーを変えてもいい。

>該当ユーザーでログオンしない状態での変更

不可能です。スクリプトレベルでもログインする。sysprefなどを使かしかない。

>ターミナルログイン

で必要というのがよくわからない。通常テンプレートが読み込まれて、ユーザー設定の差分がユーザーごとに保存されるのですよね???

ユーザーの設定を保存しなようにするだけですよね。ユーザーのテンプレートを変え方がわからにと言う事ですかね。

http://www.atmarkit.co.jp/fwin2k/winsv2008/10ts_ …
http://www.atmarkit.co.jp/fwin2k/winsv2008/09ts_ …
(上記のリンクをたどる)

この辺を使うということですかね。

http://www.nec.co.jp/products/laser/support/prte …
(一例)

プリンター側のドライバーやサービスにも制限があるのでご注意。

この回答への補足

2回にわたり詳細な回答ありがとうございます。
それぞれのリンクやご指摘は非常に参考になりましたが、今回のケースにはそのまま適用できない
ようです。

また、当方でドライバのインストールまでスクリプトにより実行できたと書きましたが、こちらは
以前に他の方が作られたスクリプトのひな形があり、少々手を加えるだけで今回の用途に使用が
できたという事情があります。

ユーザーの権限コマンドや、レジストリについては未調査の部分が多いので調査の参考に致します。
また、通常使うプリンタを該当ユーザーでログオンしない状態での変更ができないという報告は
助かります。アクセス許可については、subinacl.exe などでプリンタの設定もできるみたいですが、
まだ具体的に調査してないところです。これらは来週にでも進める予定です。


また、最初にあった疑問の件ですが、このシステムではユーザーのいる各拠点とサーバーのある
データセンター間をインターネットVPNで接続しする環境を構築し、各ユーザーの拠点にはサーバー
にアクセスするクライアントコンピュータ、印刷を行いたい場合はプリンタも設置するといった
構成になっております。そして、このVPNで接続する拠点が数百あるということになります。

また、これらのサーバーはWindowsServer(2008R2)ですが、ADは使用していません。
中のソフトウェアはどんどん新しい機能が増えているにもかかわらず、サーバークライアント間の
システムについてはNT Serverの頃からほとんど変えていないようです。

また、ご紹介のリンクにありましたEasyPrintですが、便利な機能ではありますが、システムの
データベース上に印刷するプリンタを用紙サイズ別に固定値で登録するため、自動的にプリンタ名が
付与されるEasyPrintは限定的な印刷でのみ使えるといった事情があります。

これに限らず、新機能が使えるようにプログラム側の改修で解決しないといけないところですが、
力業で解決できている間は開発の優先度が低い状況で、その分はサーバー&ネットワーク設定者に
負担が回っている状況です。

また何かお気づきになりましたらよろしくお願い致します。
ありがとうございました。

補足日時:2011/04/02 02:02
    • good
    • 0

昔どこかで見た事があったので、探したけどありませんでした。



でとりあえず、そちらがどこまでできているのかわかなないので、VBS等での基本的なアクセス権取得や設定についてのリファレンスページを示します。WMIで行います。他のプロパイダーでのやり方もありますが、リソースキッドやフレームワークを使うので、業務用のマシンにどうだろう。と言うところがあります。まあ通常ADを設置するなら、そのてのサービスも一緒にいれるはずですが。

プリンターを取得するクラスに読み替えて、やればできます。なおADからの設定なら、かなりのサンプルがあるので、そちらを参考にするといいでしょう。

(共有しているプリンターへのアクセス権の設定<=普通サーバーへのプリンター設定なら共有してそれをマウントするかネットプリンターとしてPPT?とか使うのが普通ですよね。その辺が疑問。1個のサーバーですよね。スクリプトが必要ですか??? いくつも(10個とか)プリントサーバーにするんですかね)

http://msdn.microsoft.com/en-us/library/aa393592 …

そこにサンプルが付いています。W32_printerにもSetSecurityDescriptorとGetがあるので、同じ事です。

キーワードはWin32_ACE objects ですね。

http://msdn.microsoft.com/en-us/library/aa390773 …
(ゲットします)

http://q.hatena.ne.jp/1210910352
わかりやすいスクリプトです。

http://msdn.microsoft.com/en-us/library/aa394363 …
W32_printer

http://msdn.microsoft.com/en-us/library/aa393594 …
そのSetSecurityDescriptor。Poweshellでのサンプルも書き込みがあるようですね。そっちの方がサンプルたくさんあります。

PowerShellがいいのかも

$Trustee.Name = $user
$Trustee.SID = $SIDArray
$ace.AccessMask = 983052
$ace.AceType = 0
$ace.AceFlags = 0

なんてイメージになるようです。やっている事は同じ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!