ビジネス課題への解決策(アイディア)と、新たな発想(+α)が見つかるIT情報メディア

Menu
  1. TOP
  2. データ活用
  3. サービスで起動された実行ファイルから、ネットワークドライブにあるファイルを利用するには?

サービスで起動された実行ファイルから、ネットワークドライブにあるファイルを利用するには?

  • LINEで送る
  • このエントリーをはてなブックマークに追加

前回記事、サービスで起動された実行ファイルから、ネットワークドライブが使えないのは何故?に引き続き、Windowsでネットワークドライブを扱うときの話です。

前回は、ユーザーがデスクトップにログインした状態(対話形式のログオンをしているとき)でなければ、Windowsエクスプローラーなどから作成したネットワークドライブが使用できないことを説明しました。

今回は、ユーザーがWindowsデスクトップにログインしていない状態でネットワークドライブを利用する方法を説明します。

ユーザーが対話形式のログオンをしていない時に、サービスで起動された実行ファイルからネットワークドライブ上のファイルを扱うには、エクスプローラーでネットワークドライブ設定する代わりに、「net use」コマンドを使用してネットワークドライブを設定します。

例えば、[server]サーバーにある[share]フォルダーを[y]ドライブにマウントする場合は、サービス起動するプログラムより前に

C:>net use y: servershare

を実行するように設定します。そうすることで、サービスで起動された実行ファイルから、ネットワークドライブ上のファイルを利用できるようになります。

また、ネットワークドライブ利用後に[y]ドライブを切断するには、

C:>net use y: /delete

を実行するように設定します。

既にマウントされているデバイスに対して再度ネットワークドライブをマウントするコマンドを実行すると、そのコマンドはエラーになります。

<コマンド実行例1>

C:>net use y: servershare
コマンドは正常に終了しました。

C:>net use y: servershare
システム エラー 85 が発生しました。
ローカル デバイス名は既に使用されています。

同様に、存在しないネットワークドライブに対して切断するコマンドを実行すると、そのコマンドはエラーになります。

<コマンド実行例2>

C:>net use y: /delete
y: が削除されました。

C:>net use y: /delete
ネットワーク接続が見つかりませんでした。

NET HELPMSG 2250 と入力すると、より詳しい説明が得られます。

ネットワーク接続の一覧は、

C:>net use

で確認することができます。

<コマンド実行例3>

C:>net use
新しい接続は記憶されません。

ステータス ローカル名 リモート名 ネットワーク名
------------------------------------------------------------
OK Y: servershare Microsoft Windows Network
コマンドは正常に終了しました。

この「net use」コマンド、接続ユーザー名やパスワードの指定などもできますので、詳しくは Microsoft のサイト
http://technet.microsoft.com/library/gg651155.aspx
などを参照してみてください。

メンテナンスなどを考えると、ネットワーク上にあるファイルを指定する場合は、ネットワークドライブを割り当てるのではなく、UNC(Universal Naming Convention)
パスのまま記述していただきたいところですが…

(文中の各リンクは、2014/09/24時点のものです)


関連コンテンツ

サービスで起動された実行ファイルから、ネットワークドライブが使えないのは何故?

追記:Waha! Transformer 製品サイトの関連コンテンツ

Waha! Transformer の動作プラットフォーム


データの抽出や加工、連携にお悩みではありませんか?

20年以上の実績に裏打ちされた信頼のデータ連携ツール「Waha! Transformer」で、自社に眠るデータを有効活用。まずは無料のハンズオンセミナーや体験版で効果を実感していただけます。

> 純国産ETLツール「Waha! Transformer」

Waha! Transformer
メールマガジンの登録はこちらから
メルマガ登録 お問い合わせ