Version 2015.2.x ~
  ネットワーク共有フォルダ/ネットワークプリンタの参照方法を教えてください。(2015.2~)

ネットワーク共有フォルダ/ネットワークプリンタにアクセスしたい場合、以下の2つの方法があります。

A. net use コマンドを使用する方法 ※Windows2008以降
B. Caché の起動ユーザを変更する方法

詳細は以下をご覧ください。
------------------------------------------------------------------------------------------
【方法A】net use コマンドを使用する方法 ※Windows2008以降
------------------------------------------------------------------------------------------
1) Caché からネットワーク共有フォルダへのアクセスを許可する場合、以下のコマンドを実行するように SYSTEM^%ZSTART に記述します。

 net use \\<サーバ>\<共有フォルダ> /user:<ユーザ名> <パスワード>

※^%ZSTART または従来の ^ZSTU は、ユーザのスタートルーチンです。

詳細は以下のページをご参照下さい。
^%ZSTART ルーチンと ^%ZSTOP ルーチンによる開始動作と停止動作のカスタマイズについて

※%ZSTART での記述ミスは Caché の起動不可になりますので、%ZSTARTの単体実行を確認するようにしてください。

また、%ZSTART ルーチンは、ネームスペース %SYS に新規に作成する必要があります。フォーマットは以下になります。

SYSTEM
 Set st = $ZF(-100, "/shell", "net", "use", "\\share\public", "/user:username", "password")
 Quit

 
2) %ZSTART ルーチンを保存+コンパイルしたら、Caché を再起動します。

<< 注意 >>
Cachéターミナルで実行する場合と、TelnetやJobコマンドで実行する場合では、ユーザ権限が異なります。
==========================================================================================
ターミナル:Windowsログインユーザ ※2007.1.1~2015.1.x:Cachéサービスの起動ユーザ(既定:LocalSystem)
Telnet/Job:Cachéサービスの起動ユーザ(既定:LocalSystem)
==========================================================================================

ターミナルはWindowsログインユーザとセッションを共有しているため、事前にWindowsでネットワーク共有フォルダにアクセス済みであれば、Cachéで何も設定しなくてもターミナルからのアクセスは可能です。

しかし、Telnet/Job(バックグラウンドジョブ全般※) はCachéサービスのログインユーザとセッションを共有するため、Cachéサービスの起動ユーザで net use コマンドを実行する必要があります。

上で紹介しているように、^%ZSTART ルーチンでnet use コマンドを実行することで、Telnet/Job でのアクセスも可能になります。
※ODBC/JDBC接続や、CSPアプリケーションで動作するものも含む

----------------------------------------------------------------
【方法B】Caché の起動ユーザを変更する方法
----------------------------------------------------------------
1) ユーザアカウントを決めます
Caché のサーバとネットワーク共有をサービスしているサーバに、同じユーザ名/パスワードのアカウントを作成します。
※ユーザアカウントは、Windows Administrators グループのメンバである必要はありません。

2) cinstall コマンドを使用して Caché サービスのユーザアカウントを変更します。
Caché サービスのユーザアカウントを変更するときは、従来のように
「Windowsコントロールパネル>管理ツール>サービス>Cache Controller for XX」
からCachéサービスの起動ユーザを変更するのではなく、cinstall コマンドを使用して 変更します。

コマンドは次の通りです。

cinstall setserviceusername <構成名> <起動ユーザ名> <パスワード>


具体的には、Windows のコマンドプロンプトを「管理者権限で」起動して以下のように実行します。
(ユーザ:username、パスワード:password を使う場合。構成名 CACHE とします)

cd C:\InterSystems\Cache\Bin <-- install dir\bin に移動
cinstall setserviceusername CACHE username password


詳細は以下のページをご参照下さい。
プラットフォーム固有の項目について
※インストール・アクセス許可の変更

<<注意>>
【方法B】の場合も A と同様に、Cachéターミナルでネットワーク共有フォルダにアクセスする場合は、事前にWindowsでネットワーク共有フォルダにアクセスしていることが条件になります。(Windowsログインユーザとセッションを共有しているため)


関連トピック: ネットワーク共有フォルダ/ネットワークプリンタの参照方法を教えてください。(~5.0.x)
関連トピック:Caché開始時にOSの実行ファイルやコマンド、またはCaché内ルーチンを実行する方法を教えてください。
関連トピック:ネットワークドライブ上のファイルアクセスが失敗します。
関連トピック:ネットワーク共有フォルダ/ネットワークプリンタの参照方法を教えてください。(~2015.1.x)
関連トピック:$ZF(-1)の戻り値に -1 が返って実行できません。なぜですか?
関連トピック:$ZF(-100)の使用方法を教えてください
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る