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と関連する良く見られている質問

Qバッチファイルを起動したけど、win98では引数が長すぎて。。。

VBからバッチファイルを起動する処理を作成中です。

SHELL コマンドで実行しているのですが、
そのバッチファイルの引数がすごく長いのです。

>batch.bat "引数1" "引数2" "引数3"
とする際、引数1 ~ 引数3までの合計文字列が
128?byte を超えてしまい、
win98では、使えないプログラムがあります。

複数の引数をまとめたファイルを、バッチファイルの
引数として起動させる等、
回避作はあるのでしょうか?

教えてください。

Aベストアンサー

 最近バッチファイルを作る機会が無いので、自信なしですが、

バッチファイル内で、環境変数をセットしてから、
呼び出したいバッチファイルを起動すればよいかなと思います。

たとえば、hensuSet.bat の名前で環境変数設定ファイルを出力します。
内容は、
set Para1=最初の引数
set Para2=次の引数
などのように、
で、Shellで起動するバッチファイルは

hensuSet.bat
実行したい処理.bat

としておく。

実行したい処理.bat
では、%1ではなく、hensuSet.batで設定した変数名でパラメータを取り出すように変更すれば、動きそうに思います。

 本当に、久しぶりに考えたので、これだけじゃご希望の処理ができないかもしれません。そんな場合は、お許しください。

QC:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\DotNetInstaller.exe が必

ノートンウィンドクターで調べると下記のメッセージで修復できない。となります。
方法は有りませんか。

C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\DotNetInstaller.exe が必要なファイルにアクセスできません : "mscoree.dll.

C:\Program Files\Common Files\InstallShield\Professional\RunTime\10\01\Intel32\DotNetInstaller.exe が必要なファイルにアクセスできません : "mscoree.dll.


C:\WINDOWS\system32\MAPISRVR.EXE が必要なファイルにアクセスできません : "gapi32.dll.

以上 3個有ります。

Aベストアンサー

mscoree.dllはMicrosoft .NET Framework日本語版をインストールすればいいとおもいます。また、gapi32.dllはOSがXPの場合実装されてない事があるようなので下記のページを参考にインストールしてみてはいかがでしょう。
http://www.asahi-net.or.jp/~ri3a-okn/chipro/riched/riched.html

Q引数をファイル出力してバッチファイルを実行したい

普段バッチファイルを書くのですが、バッチファイルでは引数に含まれる文字によっては正しく引数を処理できないので、最初に、何か別の方法で引数だけテキストファイルに出力したいと考えています。

具体的には、以下の動作をしたいです。

―――――――――――――――――――――

プログラムかスクリプトに引数を渡す。
  ↓
引数を、システムのTEMPフォルダに「out.txt」として保存する。
  ↓
プログラムかスクリプトと同じフォルダにある「1.bat」を実行する。

―――――――――――――――――――――

出来れば、Windows標準で使えるスクリプトか、オープンソースのプログラムで実現したいです。

方法をご存知の方がおられましたら、お教え頂けないでしょうか。

Aベストアンサー

なんとなくやりたいことがわかった感じです。

VBSファイルに埋め込んでいるパスは、この場合は下記の2つに関わっています。
 1 バッチファイルの場所
 2 出力先の場所
2を関わらない場所(元ファイルの場所等、環境に依存しない)にすることはできると思います。
BATの中で引数からパスを抽出してそこに出力等。
ただ、1の関わりは解けないですね。。。

VBSはバッチファイルの場所がわからないので知らせるしかなさそうですねぇ。
ただ、使い方を制限して回避することはできるかもしれません。
例えば、DDするファイルの場所にVBS、BATを置いて使うこと、とか。
この場合、DDするファイルのパスはわかるので、そこからBATの場所を特定できます。

とここまで書いて、VBSって自分の場所くらいわからないのかなぁ、とググったら。。。
-----VBSファイル
Set objArgs = WScript.Arguments

Set fso = CreateObject("Scripting.FileSystemObject")
Set fScript = fso.GetFile(WScript.ScriptFullName)
WScript.Echo fScript.ParentFolder

Set shell = WScript.CreateObject("WScript.Shell")
shell.CurrentDirectory = fScript.ParentFolder
out = ".\SUB\out.txt"
cmd = "dump.bat """ & objArgs(0) & """ " & out
WScript.Echo cmd
shell.Run(cmd)
-----
これはどうでしょう?
制限は、VBSファイルとBATファイルが同じ場所にあること。
(同じでなくとも、相対が固定ならdump.batの前に相対パスを書くことで対応可。)

なんとなくやりたいことがわかった感じです。

VBSファイルに埋め込んでいるパスは、この場合は下記の2つに関わっています。
 1 バッチファイルの場所
 2 出力先の場所
2を関わらない場所(元ファイルの場所等、環境に依存しない)にすることはできると思います。
BATの中で引数からパスを抽出してそこに出力等。
ただ、1の関わりは解けないですね。。。

VBSはバッチファイルの場所がわからないので知らせるしかなさそうですねぇ。
ただ、使い方を制限して回避することはできるかもしれません。
例えば、DDする...続きを読む

Qc:\windows\system32\config\systemが見つからない

今日は。先日私が持ってるノートPC(FMV-C8230)を起動したらc:\windows\system32\config\systemが見つからないと言うメッセージが出てきたのでWindows XPのCDを入れて回復コンソールを使おうと思ったのですが、あいにくSATAのドライバーが無いせいで回復コンソールを起動できません。それでほかのPCからそのファイルをコピーしようと思ったのですがそのファイルが使用中だといわれてコピーできませんでした。どうしたらいいでしょうか?
回答お待ちしております。

Aベストアンサー

No.1,2,4 です.

そこまでスキルがおありなら(法人向けって事は仕事用でしょうから,
なんでクローン HDD or System Image Backup 録ってないのか?)
FMV-C8230 で knoppix 起動でデータ救出後,リカバリーしちゃった方が
結果的に速そうな気がしますが?

*リカバリーはしたくないから他の方法を模索してる,ならばお力には
なれそうにないです.

Qwindowsバッチファイルで実行フォルダ移動

お世話になります。王次郎です。

windows7 バッチファイルで、引数で渡されたファイルまたはフォルダの
ディレクトリにカレントディレクトリを変更したいです。
方法を教えてください。

・ 引数(%1%)が無いときは、カレントディレクトリはバッチファイルのあるディレクトリのままにします
・ 引数(%1%)がフォルダのときは、カレントディレクトリをその引数のフォルダにします
CD %1%
・ 引数(%1%)がファイルのときは、そのファイルの置かれているディレクトリを抽出して
その抽出したディレクトリに移動します


よろしくお願いします。

Aベストアンサー

if not "%1" == "" if exist "%~1" (
dir /b/ad "%~1" >NUL 2>NUL
if ERRORLEVEL 1 (
cd /d "%~dp1"
) else (
cd /d "%~1"
)
)

Q\\○○○にアクセスできません。原因不明のエラー:2114

有線LANでワークグループ運用しています。
その中の1台のパソコン、仮にコンピュータ名を○○○としますが、Windows98SEのパソコンです。
突然ネットワークコンピュータに、そのパソコンだけ表示されなくなりました。
【1】そのパソコンから他のパソコンにはアクセスできます。
【2】そのパソコンからネットワーク上のプリンタやルーター接続は正常です。
【3】他のパソコンからコンピュータ名で検索をしても表示されません。
【4】そのコンピュータから自分のコンピュータ名で検索をかけると○○○というコンピュータ名で検索結果が出ます。
【5】しかし検索結果のアイコンをダブルクリックすると、この質問の表題の様に「\\○○○にアクセスできません。原因不明のエラー:2114」と表示されます。
【6】他のパソコンから、そのパソコンのIPアドレスをPingするとちゃんと通ります。

どうしたら直すことができるでしょう?

Aベストアンサー

このチェックリストにしたがってください。

参考URL:http://homepage2.nifty.com/winfaq/networkchecklist.html

Qバッチファイルから直接db2コマンドに引数を持たせて実行したい

バッチファイルより、得たデータを引数としてdb2コマンドに私、実行したいのですが、そのようなことはできるでしょうか。
(詳細)
バッチファイルで、日付&時間を変数に格納します。これを、db2のテーブルにインポートしたい。
稚拙な質問で申し訳ありません。

Aベストアンサー

例えばバッチファイルの中でsub.batを以下のように呼び出すと良いと思います。

db2cmd sub.bat 引数

するとsub.batの中ではdb2コマンドを使用することが出来ます。
また、sub.batでは引数を%1%等で受け取ることが出来ます。

QC:\WINDOWS\I386がない

再インストールしたらC:\WINDOWS\I386のファイルがなくなってしまった。
これがないといろいろ不都合ですが(sfc /scannowができない)どうしたらいいのでしょうか。
C:\WINDOWS\DRIVER CACHEにのこっているのものとはちがいますね。

Aベストアンサー

WindowsのインストールパスをCDドライブからI386フォルダが有る場所に変更してやる必要があります。
通常ウインドウズをインストールするとインストール時にI386が有った場所がレジストリ情報に記録されます。
今回の場合は再インストールですから通常はCD(DVD)ドライブにインストールCDをセットしてインストールされたはずなので、ファイルチェッカーはレジストリ情報からCDドライブ内のI386フォルダに格納されているシステムファイルを探しに行くわけです。

解決法としてはまず下の方が書いておられたようにインストールCDの中にあるI386フォルダを任意の場所にコピーします(例:C:\WINDOWSの中にコピー)。
次にレジストリに記録されたI386のインストール場所をCDドライブ(例:D:WINDOWS\I386)から新たにI386をコピーした場所(C:\WINDOWS)に変更すれば良いのです。
ただレジストリの書き換えは危険が伴いますので、お薦めなのはマイクロソフトが配布しているTweakUIというユーティリティソフトを使用することです。URLは下記参照
そのままでは英語なのでこれを日本語化するバッチファイルが配布されています。URLは下記参照
TweakUI http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
日本語化 http://stereo.jpn.org/muttyan/ptoyxp.htm

なおファイルは下記URLから直接落とせます。

****://download.microsoft.com/download/f/c/a/fca6767b-9ed9-45a6-b352-839afb2a2679/TweakUIPowertoySetup_ia64.exe
****://stereo.jpn.org/muttyan/file/tweakuijc.zip

日本語化ファイルを先に解凍して、中にある説明文に沿ってTweakUIをインストール→日本語化と進めばOKです。

インストールが完了したらTweakUIを起動して、「マイコンピュータ」→「特別なフォルダ」と選択して▼マークから「インストールパス」を選びます。
現在のインストールパス(おそらくCDドライブのパス)が表示されているはずです。
左の「場所の変更」ボタンをクリックして、新たにI386をコピーしたフォルダを辿って行きOK→適用でインストール場所の変更が完了します。

他にもこのソフトは色々なレジストリ情報を簡単かつ安全に操作できるので大変重宝します。

ただしXPをSP1→SP2にアップデートされた場合は上記の内容のみではうまく行かない可能性もあります。
アップデートの際ダウンロードしたSP2のインストール情報やインストールファイルを削除してしまった場合は厄介かも知れません。

SP1→SP2がらみでうまく行かなくなっているとしたら、あくまで自己責任ということになりますがTweakUIはマイクロソフトの純正アプリですから、マイクロソフトのサポートに電話してみるのも方法かと思います。(済みません、私には手に負えません)

WindowsのインストールパスをCDドライブからI386フォルダが有る場所に変更してやる必要があります。
通常ウインドウズをインストールするとインストール時にI386が有った場所がレジストリ情報に記録されます。
今回の場合は再インストールですから通常はCD(DVD)ドライブにインストールCDをセットしてインストールされたはずなので、ファイルチェッカーはレジストリ情報からCDドライブ内のI386フォルダに格納されているシステムファイルを探しに行くわけです。

解決法としてはまず下の方が書いておられたよ...続きを読む

QバッチファイルからVBAに引数を渡したい

お世話になります。

a.batというバッチファイルがあります。
このファイルを起動させた時にABC.xlsというEXCELが起動するようにしたいのですが、その際にバッチファイル側から"1303"という文字列をabc.xlsに引数として渡したいのです。

EXCEL側ではauto_open(a)で待ち受けて、このaに"1303"が入ってmsgで"1303"と表示させたいのですが、引数は省略出来ません、というエラーが出てしまいます。

どなたかやり方をご教授いただけませんでしょうか?よろしくお願い致します。
環境 WindowsXP SP3 Excel2003

==============================
バッチファイル側
==============================
@echo off

echo バッチファイルを実行します。

ABC.xls "1303"

echo 終了しました。

==============================
EXCEL VBA側
==============================
Sub auto_open(a As String)

Msg a

end sub

お世話になります。

a.batというバッチファイルがあります。
このファイルを起動させた時にABC.xlsというEXCELが起動するようにしたいのですが、その際にバッチファイル側から"1303"という文字列をabc.xlsに引数として渡したいのです。

EXCEL側ではauto_open(a)で待ち受けて、このaに"1303"が入ってmsgで"1303"と表示させたいのですが、引数は省略出来ません、というエラーが出てしまいます。

どなたかやり方をご教授いただけませんでしょうか?よろしくお願い致します。
環境 WindowsXP SP3 Excel2003

===...続きを読む

Aベストアンサー

Excel には起動時に渡せるオプションがありませんね。。
Batでは
Echo 1303 > d:\後で消す.txt
Explorer.exe d:\data\ABC.xls
rem ↑横着してます。"C:\・・・\excel.exe " "d:\data\ABC.xls" が王道です

Excelでは
Sub auto_open()
Dim ff As Integer
Dim buf As Variant
If Dir("d:\後で消す.txt") = "" Then
MsgBox "何もなし"
Exit Sub
Else
ff = FreeFile
Open "d:\後で消す.txt" For Input As ff
Input #ff, buf
MsgBox buf
Close ff
Kill "d:\後で消す.txt"
End If
End Sub

とか?
一時的に"d:\後で消す.txt"に書き込んで
Excelで読み込んだらKillで消してます。

1303 だけでなく任意の値なら
Echo %1 > d:\後で消す.txt
Explorer.exe d:\data\123\ABC.xls
というBatファイルを Test.bat 名で保存して
コマンドプロンプトから
・・・・\test.bat 999
などと・・・ですかね。

Excel には起動時に渡せるオプションがありませんね。。
Batでは
Echo 1303 > d:\後で消す.txt
Explorer.exe d:\data\ABC.xls
rem ↑横着してます。"C:\・・・\excel.exe " "d:\data\ABC.xls" が王道です

Excelでは
Sub auto_open()
Dim ff As Integer
Dim buf As Variant
If Dir("d:\後で消す.txt") = "" Then
MsgBox "何もなし"
Exit Sub
Else
ff = FreeFile
Open "d:\後で消す.txt" For Input As ff
Input #ff, buf
MsgBox buf
Close ff
Kill "d:\後で消す.txt"
End If
End Sub

とか?
一時的に"d:\後...続きを読む

QC:\WINDOWS\Temp をDドライブへ移したい

いつもお世話になっております。

タイトルどおりですが
C:\WINDOWS\Temp をDドライブへ移したいと考えていますがその方法がわかりません。
今日チェックしたところ6GBありましたのでとりあえず大部分は削除しましたが、今後もたまっていくようではCドライブを圧迫してしまいます。
OSはXPです。

C:\Documents and Settings\users\Local Settings\Tempの変え方などは
載っているのですが・・・

よろしくお願いいたします。

Aベストアンサー

環境変数の設定変更をすればよいと思います。
http://www.atmarkit.co.jp/fwin2k/win2ktips/389extprec/extprec.html


人気Q&Aランキング