いなかみ雑記帳
コンピュータ関係でWindowsとか自作PCのネタをぼちぼちと。その他雑記もちまちまと。
Entries
Windows XP以降だと、起動時にネットワークドライブが切断状態になってしまう事が多いですが、その原因と対処方法とか。
Windows XP / Vistaでは、サービスのスタートアップが完了し、OS起動時にネットワークが利用可能になる前にエクスプローラが起動しユーザーの操作が可能になります。
逆に、Windows 2000以前や、Windows Server系のOSにはこの機能がないため、エクスプローラーが起動する前にネットワークが利用可能になります。
この機能ため、起動直後にはネットワークが利用できないことになり、ネットワークドライブも開けません。
自分は後者の方法を取って、その後のコマンドとしてHTPC用のソフトを起動するような使い方をしています。
プログラムを起動し、終了を待たずに次のコマンドに移るには以下のように書きます。
パスを""(ダブルクオーテーション)で囲む場合は、単に囲むだけではタイトルバーがプログラムのパスになったコマンドプロンプトが出てきてしまうので、空でもいいのでタイトルバーの文字を指定し、その後にプログラムのパスを書きます。
start [プログラムのパス]
start "" "[プログラムのパス]"
逆に、Windows 2000以前や、Windows Server系のOSにはこの機能がないため、エクスプローラーが起動する前にネットワークが利用可能になります。
この機能ため、起動直後にはネットワークが利用できないことになり、ネットワークドライブも開けません。
- 「コンピュータ起動時とログオン時にネットワークを常に待つ」ポリシー設定を有効にする。
グループポリシー オブジェクト エディタを開き、コンピュータの構成>管理用テンプレート>システム>ログオンの中にある「コンピュータ起動時とログオン時にネットワークを常に待つ」を有効にします。
この設定を行うと、Windows2000以前のように、コンピュータの起動時にサービスのスタートアップとネットワークの初期化を常に待つようになります。そのため、ログオン時にはネットワークが利用可能な状態になります。 - ネットワークが利用可能になったら、手動でネットワークドライブをマップする。
ネットワークドライブをマップするには、
net use [ドライブ名:] [\\コンピュータ名\共有名] /PERSISTENT:no
を実行します。/PERSISTENT スイッチは、次回ログオン時に自動的にドライブをマップするかどうかの設定です。この場合は常に手動でマップするので、noにします。
これをバッチファイルに書いて、スタートアップから実行すればいいのですが、スタートアップから実行される時にはネットワークが初期化されていない可能性が高いので、マップが成功するまで再試行するようにします。
:loop
net use [ドライブ名:] [\\コンピュータ名\共有名] /PERSISTENT:no
timeout /t 1
if not exist [ドライブ名:]\ goto loop
timeout.exeは、マップが失敗してから再度マップを試みるまでの待ち時間を確保するためのものです。Windows XPにはありませんが、Windows Server 2003以降には標準で搭載されています。
自分は後者の方法を取って、その後のコマンドとしてHTPC用のソフトを起動するような使い方をしています。
プログラムを起動し、終了を待たずに次のコマンドに移るには以下のように書きます。
パスを""(ダブルクオーテーション)で囲む場合は、単に囲むだけではタイトルバーがプログラムのパスになったコマンドプロンプトが出てきてしまうので、空でもいいのでタイトルバーの文字を指定し、その後にプログラムのパスを書きます。
start [プログラムのパス]
start "" "[プログラムのパス]"
0件のコメント
コメントの投稿
0件のトラックバック
- トラックバックURL
- http://inakami.blog120.fc2.com/tb.php/68-b4107d9e
- この記事に対してトラックバックを送信する(FC2ブログユーザー)
