Published on InterSystems Developer Community (https://community.intersystems.com)

ホーム > ネットワーク共有フォルダ/ネットワークプリンタの参照方法

記事
Megumi Kakechi · 2020年10月25日 4m read

ネットワーク共有フォルダ/ネットワークプリンタの参照方法

これはInterSystems FAQ サイトの記事です。

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

A. net use コマンドを使用する方法
B. IRISの起動ユーザを変更する方法

詳細は以下をご覧ください。

------------------------------------------------------------------------------------------
【方法A】net use コマンドを使用する方法
------------------------------------------------------------------------------------------

1) IRIS からネットワーク共有フォルダへのアクセスを許可する場合、以下のコマンドを実行するように SYSTEM^%ZSTART に記述します。

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

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


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

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

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

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


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


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

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

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

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


----------------------------------------------------------------
【方法B】IRIS の起動ユーザを変更する方法
----------------------------------------------------------------

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


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

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

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

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

cd C:\InterSystems\IRIS\bin    <-- install dir\bin に移動
irisinstall setserviceusername IRIS username password

 

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


<<注意2>>
サービス起動ユーザをLOCAL_SYSTEMから変えると、権限が不足するためLarge Pageの使用(※)ができなくなります。
※Windows上でのCaché共有メモリの割り当てについて

Large Pageを使用するためには、変更したアカウントに対して"メモリ内のページのロック" 特権を付与する必要があります。
“メモリ内のページのロック” 特権の付与は、ローカルセキュリティポリシー(secpol.msc)より実施します。

 

Windows での Large Page の構成と権限については、以下のドキュメントもあわせてご覧ください。
Windows でのラージページの構成について

#システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health

ソースURL:https://jp.community.intersystems.com/post/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%85%B1%E6%9C%89%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%81%AE%E5%8F%82%E7%85%A7%E6%96%B9%E6%B3%95