COBOL2002 ユーザーズガイド


付録C.1 管理者権限についての注意事項

UAC機能が有効な場合,管理者ユーザとしてログオンしても,アプリケーションの実行権限は標準権限に下げられます。例えば,管理者権限を必要とするアプリケーションを起動しようとすると,システムは,昇格ダイアログボックスを表示して,ユーザの確認を求めます。この場合,ユーザが実行を許可すると,アプリケーションは管理者権限で実行されます。または,管理者権限で実行するためにプログラムやコマンドのプロパティを変更するか,「管理者として実行」で実行するなどの操作が必要です。

管理者権限についての注意事項を次に示します。

〈この項の構成〉

(1) プログラムを管理者権限で実行する場合の注意事項

管理者権限でプログラムを実行する場合,起動時にWindowsのユーザアカウント制御(UAC)の昇格ダイアログボックスが表示されます。また,ユーザが作成したバッチファイル内など,呼び出し元で設定した環境変数は,呼び出し先の管理者権限で動作するプロセスには引き継がれません。

これらを回避する場合は,呼び出し元のプログラムを管理者権限で実行してください。その際,次の点に注意してください。

(2) テストデバッガおよびカバレージ使用時の注意事項

(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

  • レコード内容の表示ユティリティ

  • isprtコマンド

KAIU001-E ISAMアクセス関数エラーが発生しました。(isopen)

2

  • iscpyコマンド

  • isersコマンド

KAIU001-E ISAMアクセス関数エラーが発生しました。(normal,5)

3

isrenコマンド

KAIU001-E ISAMアクセス関数エラーが発生しました。(isrename,1010)

注意

これらのメッセージは,ISAMファイルにアクセス権がない場合にも表示されます。

また,管理者権限で起動したコマンドプロンプトでもエラーの原因を確認できます。次に示すコマンドを実行し,表示される関数エラー情報を確認してください。

Windows(x86) COBOL2002の場合
ismdmpntコマンド(ラージファイル形式の場合ismdmpntLコマンド)
Windows(x64) COBOL2002の場合
ismdmpnt64コマンド

該当する時間にiserrno=ESYSERR,issyserr=5,syserrknd=13のエラー情報が表示されている場合,グローバルオブジェクトの作成権限がないユーザで,これらのISAMユティリティを標準権限で実行したことを示します。

ismdmpntコマンドまたはismdmpnt64コマンドの表示例
[01]14/08/01; 12:00:00; 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ユティリティを置き換える手順を次に示します。

  1. 管理者権限のあるユーザであることを確認する。

  2. コマンドプロンプトを管理者権限に権限昇格して起動する。

  3. <ISAMのインストールフォルダ>¥Bin¥Compatフォルダに移動する。

    cd <ISAMのインストールフォルダ>\Bin\Compat
  4. ISAMユティリティを実行していないことを確認する。

  5. xcopyコマンドでCompatフォルダ内のexeファイルを直上のBinフォルダへコピーする。

    xcopy *.exe ..\ /y
  6. ログオフする。

注※

ISAMのインストールフォルダは,デフォルトでは次のとおりです。

32bit版:

C:\Program Files\Hitachi\ISAM

64bit版:

C:\Program Files\Hitachi\ISAM64