ActiveDirectlyで運用しているドメインがありまして
100台ほどのクライアントが所属しています。

今回lmhostsの記述に誤りがあることに気付き、全台差し替える状況となりました。

そこで、

copy \\Server\share\hosts.txt %systemroot%\system32\drivers\etc\hosts

上記コマンドをバッチにして、各ユーザのログオンスクリプトに指定したのですが

アクセス拒否となります。

ドメインの一般ユーザがローカルのシステムフォルダにコピー権限がないためだと思いますが

他に方法が思い浮かびません・・・

lmhostsの差し替えに何か良い方法がありますでしょうか。

A 回答 (2件)

スタートアップスクリプトでは、UNCパスが使えないようです。



参考URL(2ch)の466と467をご参照ください。

copyコマンドの前に
net use \\Server\share /user:domain\user password
copyコマンドの後に
net use \\Serer\share /delete

をそれぞれバッチファイルへ追記してみてください。

参考URL:http://pc12.2ch.net/test/read.cgi/win/1090661086 …
    • good
    • 0

ログオンスクリプトでは無く、スタートアップスクリプトに登録してみてはいかがでしょうか。



参考URL:http://technet.microsoft.com/ja-jp/library/cc770 …(WS.10).aspx
    • good
    • 0
この回答へのお礼

スタートアップスクリプトは初めて聞きました。勉強になります。
早速やってみましたが・・・

DC上の「ドメイン セキュリティ ポリシー」を起動し
「Windowsの設定」→「スクリプト」→「スタートアップ」に
C:\WINDOWS\SYSVOL\domain\scriptsに置いた上記バッチを指定しました。

しかし、クライアントには適用されませんでした。
なにか手順が足りないのでしょうか。

お礼日時:2009/05/27 14:52

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QHosts書き換え用バッチファイルの作り方・・・

Hosts書き換え用バッチファイルの作り方・・・

お世話になります。
サーバのIPアドレス変更に伴い、数十台のPCのHostsファイルを書き換える必要があります。
具体的には、

SERVER1 192.xxx.xxx.xxx を削除し、
SERVER1 10.xxx.xxx.xxx を追加する

という操作がしたいわけです。

ただし、これ以外の登録はPCにより色々ですので、あくまで現行のものを削除、差分を追加、という形にしたいのです。
手作業で行うのはあまりに大変ですので、Batファイルなどを作って必要な方に配布できたら・・・と思うのですが、削除→追加の書き方がわかりません。

ご教示いただけますと助かります。
宜しくお願いいたします。

Aベストアンサー

>Hosts書き換え用バッチファイルの作り方・・・

そもそもこの手のスクリプトが必要な場合DNSを立ち上げる必要があります。10年以上も前なら、そんな予算がないとか、そんな知識がある社員がいないとか、クライアントからよく怒られたものです(よく現場の営業と喧嘩したものです)。

でも今は家庭でもルーターを設置する方が多く、たくさんの素人の方が設置しています。

何せ1万円前後で手に入り、マニュアル通りにやればいいわけですから。設定してくれる業者もります(3万円前後)。


ルーターにDNSサーバー機能がある場合が多く、それで行うのをお勧めします。もちろん使用していないパソコンをDNSサーバーにするのがいいです。


で、本題です。
このレベルであれば確かにDOSのバッチファイルで用は足りますが・・・・・

私はこの手のサンプルを投稿するのはしませんが(業務でやるならプロでしょう。おれは金もらっていない)、まあこのレベルならいいでしょう。テストを含め5分で作成したので、穴だらけですが、まあ用は足ります。そのためめちゃくちゃ単純にしています。削除して追加。もちろん管理者で行ってください。

@echo off
cls
set delsrv="SERVER1 111\.111\.111\.111" "SERVER2 222\.222\.222\.222" "SERVER3 333\.333\.333\.333"

set addsrv="SERVER1 444.444.444.444" "SERVER2 555.555.555.555" "SERVER3
666.666.666.666"

set hostsfile="%systemroot%\system32\drivers\etc\hosts"

copy %hostsfile% %hostsfile%.bac

for %%a in (%delsrv%) do (
echo del [%%a]
findstr /r /v %%a %hostsfile% > tmp.txt
type tmp.txt > %hostsfile%
)
echo\
for %%a in (%addsrv%) do (
echo add [%%a]
echo %%~a >> %hostsfile%
)
del /q tmp.txt > NUL 2>&1
echo ---------- end -----------------------
type %hostsfile% | more
pause

※なお、IPに333はないでしょう。わかりやすくするためにそのようにいした。

>Hosts書き換え用バッチファイルの作り方・・・

そもそもこの手のスクリプトが必要な場合DNSを立ち上げる必要があります。10年以上も前なら、そんな予算がないとか、そんな知識がある社員がいないとか、クライアントからよく怒られたものです(よく現場の営業と喧嘩したものです)。

でも今は家庭でもルーターを設置する方が多く、たくさんの素人の方が設置しています。

何せ1万円前後で手に入り、マニュアル通りにやればいいわけですから。設定してくれる業者もります(3万円前後)。


ルーターにDNSサ...続きを読む


人気Q&Aランキング

おすすめ情報