付録A.1 管理者権限についての注意事項
UAC機能が有効な場合,管理者ユーザとしてログオンしても,アプリケーションの実行権限は標準権限に下げられます。例えば,管理者権限を必要とするアプリケーションを起動しようとすると,システムは,昇格ダイアログボックスを表示して,ユーザの確認を求めます。この場合,ユーザが実行を許可すると,アプリケーションは管理者権限で実行されます。または,管理者権限で実行するためにプログラムやコマンドのプロパティを変更するか,「管理者として実行」で実行するなどの操作が必要です。
管理者権限についての注意事項を次に示します。
- 〈この項の構成〉
(1) プログラムを管理者権限で実行する場合の注意事項
管理者権限でプログラムを実行する場合,起動時にWindowsのユーザアカウント制御(UAC)の昇格ダイアログボックスが表示されます。また,ユーザが作成したバッチファイル内など,呼び出し元で設定した環境変数は,呼び出し先の管理者権限で動作するプロセスには引き継がれません。
これらを回避する場合は,呼び出し元のプログラムを管理者権限で実行してください。その際,次の点に注意してください。
-
呼び出し元から呼ばれるすべてのプログラムは管理者権限で動作することになります。セキュリティの面で問題がないかどうか確認してください。
-
標準権限のコマンドプロンプトから管理者権限のプログラムを起動した場合,管理者権限のプログラムから標準権限のコマンドプロンプトで設定した環境変数にアクセスできません。コマンドプロンプトも管理者権限で起動してください。バッチファイルを使用する場合は,特に注意してください。
-
開発マネージャやCOBOLエディタなどを管理者権限で実行させている場合,標準権限で動作するエクスプローラからファイルをドラッグ&ドロップできません。
(2) テストデバッガおよびカバレージ使用時の注意事項
-
テストデバッガおよびカバレージで,次に示す操作を標準権限(Administratorsグループのユーザ含む)で実行する場合,注意が必要です。
-
連動実行のテストデバッガでデバッグする場合
-
管理者権限を設定したプログラムをデバッグ対象にする場合
次に示す方法で実行してください。
-
連動実行のテストデバッガでデバッグする場合
Administrators グループのユーザの場合は,テストデバッガおよびデバッグ対象プログラムを管理者権限で実行してください。
それ以外のユーザの場合は,テストデバッガおよびデバッグ対象プログラムを,管理者権限で実行するか,または「グローバルオブジェクトの作成」権限を追加してから標準権限で実行してください。
「グローバルオブジェクトの作成」権限は,コントロールパネルの[管理ツール]から[ローカルセキュリティポリシー]を使用して,実行するユーザに追加してください。
-
管理者権限を設定したプログラムをデバッグ対象にする場合
テストデバッガおよびカバレージを管理者権限で実行してください。
テストデバッガおよびカバレージを開発マネージャから呼び出す場合は,開発マネージャを管理者権限で実行してください。テストデバッガ,カバレージまたは開発マネージャを標準権限(Administratorsグループのユーザ含む)で実行すると,デバッグ対象プログラムの起動に失敗します。
-
-
テストデバッガおよびカバレージを管理者権限で実行した場合は,デバッグ対象プログラムも管理者権限で動作します。標準権限で実行した場合は,デバッグ対象プログラムも標準権限で動作します。しかし,テストデバッガおよびカバレージを標準権限で実行した場合は,Windowsリソース保護(WRP)の影響を受けるため,管理者権限で実行したときと実行結果が変わることがあります。そのため,運用時と同じ権限でテストデバッガおよびカバレージを実行してください。
(3) ISAMによる索引編成ファイル使用時の注意事項
プログラムでISAMによる索引編成ファイルを使用する場合は,管理者権限で実行してください。管理者権限がない場合,ISAMによる索引編成ファイルにアクセスすると実行時エラーになります。
(4) ISAMユティリティに関する注意事項
使用するISAMユティリティによって,管理者権限での実行が必要かどうかが変わります。ISAMユティリティと管理者権限について説明します。
(a) 管理者権限での実行が必要なISAMユティリティ
管理者権限での実行が必要なISAMユティリティを次に示します。
- Windows(x86) COBOL2002の場合
-
-
オプション情報の設定ユティリティ
-
islckextコマンド
-
islckclearコマンド
-
islckclearLコマンド
-
- Windows(x64) COBOL2002の場合
-
-
オプション情報の設定ユティリティ
-
islckext64コマンド
-
islckclear64コマンド
-
(b) 原則,管理者権限での実行が必要なISAMユティリティ
原則,管理者権限での実行が必要なISAMユティリティを次に示します。
- Windows(x86) COBOL2002の場合
-
-
定義ファイルの作成ユティリティ
-
レコード内容の表示ユティリティ
-
iscpyコマンド
-
isersコマンド
-
isrenコマンド
-
isprtコマンド
-
- Windows(x64) COBOL2002の場合
-
-
定義ファイルの作成ユティリティ
-
レコード内容の表示ユティリティ
-
iscpy64コマンド
-
isers64コマンド
-
isren64コマンド
-
isprt64コマンド
-
ただし,セキュリティ上の問題で,管理者権限で実行できない場合は,コントロールパネルの[管理ツール]から[ローカルセキュリティポリシー]を使用して,標準権限にグローバルオブジェクトの作成権限を追加したユーザで実行してください。
グローバルオブジェクトの作成権限がないユーザで,これらのISAMユティリティを標準権限で実行した場合,定義ファイルの作成ユティリティ以外のISAMユティリティはエラーとなります。表示されるエラーメッセージを次の表に示します。
項番 |
ISAMユティリティ |
エラーメッセージ |
---|---|---|
1 |
|
KAIU001-E ISAMアクセス関数エラーが発生しました。(isopen) |
2 |
|
KAIU001-E ISAMアクセス関数エラーが発生しました。(normal,5) |
3 |
isrenコマンド |
KAIU001-E ISAMアクセス関数エラーが発生しました。(isrename,1010) |
また,コマンドプロンプトでもエラーの原因を確認できます。次に示すコマンドを実行し,表示される関数エラー情報を確認してください。
- Windows(x86) COBOL2002の場合
ismdmpntコマンド(ラージファイル形式の場合ismdmpntLコマンド)
- Windows(x64) COBOL2002の場合
ismdmpnt64コマンド
該当する時間にiserrno=ESYSERR,issyserr=5,syserrknd=13のエラー情報が表示されている場合,グローバルオブジェクトの作成権限がないユーザで,これらのISAMユティリティを標準権限で実行したことを示します。
- ismdmpntコマンドまたはismdmpnt64コマンドの表示例
[01]13/10/02; 11:22:42; procno = 2760; thrdno = 2392 (ISAMファイル名) (ISAM関数): iserrno=ESYSERR,iserrcd = 00000113 ,issyserr = 00000005,syserrknd = 00000013
なお,定義ファイルの作成ユティリティは,ISAMファイルの作成先にすでにISAMファイルが存在する場合,アクセス権などの属性情報が引き継がれます。
(c) 標準権限で実行できるISAMユティリティ
標準権限で実行できるISAMユティリティを次に示します。
- Windows(x86) COBOL2002の場合
-
-
キーの追加/削除/再構築ユティリティ
-
ファイルの検証ユティリティ
-
ファイルの圧縮ユティリティ
-
ファイルの変換ユティリティ
-
ファイルの抽出ユティリティ
-
ファイルの移行ユティリティ
-
キー定義情報の表示ユティリティ
-
iskeydefコマンド
-
iskeymntコマンド
-
isconvコマンド
-
ischkコマンド
-
isextコマンド
-
isinfoコマンド
-
iscondコマンド
-
isshiftコマンド
-
isgendefコマンド
-
- Windows(x64) COBOL2002の場合
-
-
キーの追加/削除/再構築ユティリティ
-
ファイルの検証ユティリティ
-
ファイルの圧縮ユティリティ
-
ファイルの変換ユティリティ
-
ファイルの抽出ユティリティ
-
ファイルの移行ユティリティ
-
キー定義情報の表示ユティリティ
-
iskeydef64コマンド
-
iskeymnt64コマンド
-
isconv64コマンド
-
ischk64コマンド
-
isext64コマンド
-
isinfo64コマンド
-
iscond64コマンド
-
isshift64コマンド
-
なお,ファイル/レコード定義は,ISAMファイルを生成する際にISAMユティリティを使用しますが,ISAMファイルは標準権限で生成できるため,ファイル/レコード定義は,標準権限,管理者権限のどちらでも起動できます。
(d) ISAMユティリティを管理者権限だけで使用できるようにする方法
ISAMユティリティを<ISAMのインストールフォルダ>※¥Bin¥Compatフォルダに格納されているISAMユティリティと置き換えることで,ISAMユティリティを管理者権限だけで使用できます。なお,置き換え前のISAMユティリティに戻すことができるように,作業前に置き換え前のISAMユティリティをバックアップしておくことを推奨します。
ISAMユティリティを置き換える手順を次に示します。
-
管理者権限のあるユーザであることを確認する。
-
コマンドプロンプトを管理者権限に権限昇格して起動する。
-
<ISAMのインストールフォルダ>※¥Bin¥Compatフォルダに移動する。
cd <ISAMのインストールフォルダ>※\Bin\Compat
-
ISAMユティリティを実行していないことを確認する。
-
xcopyコマンドでCompatフォルダ内のexeファイルを直上のBinフォルダへコピーする。
xcopy *.exe ..\ /y
-
ログオフする。
- 注※
-
ISAMのインストールフォルダは,デフォルトでは次のとおりです。
- 32bit版:
-
C:\Program Files\Hitachi\ISAM
- 64bit版:
-
C:\Program Files\Hitachi\ISAM64