約 6,186,239 件
https://w.atwiki.jp/f-01a/pages/52.html
DoJa-4.1→DoJa-5.0の変更点 DoJa-4.1→DoJa-5.0の変更点主な新機能対応機種 スペック強化 Imageクラスの強化 Bluetoothのサポート OpenGLのサポート 形状衝突判定のサポート 直感ゲーム向けセンサのサポート メモリ管理機能の追加 追加されたクラスAbstractShape+継承クラス [任] AccelerationData [任] AccelerationEventListener [任] AccelerationSensor [任] AdhocDataTransfer [任] AudioTrackPresenter [任] BTConnection [任] BTStateListener BVBuilder BVFigure [信][任] Bluetooth [任] CertificateStore [任] CheckPINParameters Collision CollisionObserver [任] Compass [任] DTVParameter [任] DTVSchedule [任] DTVScheduleParam DataBoxFolder [任] DecomailDraft [任] DecomailTemplateStore [信][任] DirectBuffer+実装クラス [信][任] DirectBufferFactory [任] ExifData [任] FelicaAdhocListener [任] FelicaClientObexConnection [任] FelicaPushListener [任] FelicaServerObexConnection [任] FelicaStatus [信][任] FloatMath [信][任] GPSLocationProvider [任] GestureReader [信][任] GraphicsOGL IntersectionAttribute [信][任] Matrix4f MemoryManager [任] OwnerProfile [任] PINAttributeData [信][任] Point3f [信][任] Point4f [任] RemoteDevice [任] RollData [任] RollReader [任] SPPConnection [任] ShakeReader Shape [任] ThruRWOfflineFelica [任] TrackingListener [信][任] Tuple3f [信][任] Tuple4f [信][任] Vector3f [信][任] Vector4f ViewVolume [任] Display2 [任] MediaPlayer [任] RadioTuner 変更のあったクラスAudioPresenter CodeReader Display [任] Felica Font Frame+継承クラス IApplication Image ImageStore [信] MailAgent MediaImage MediaResource+実装クラス MovieStore PalettedImage PKCS7Signer [任] Toruca [任] TorucaStore VisualPresenter [任] CodeReader2 [任] PhoneSystem2 削除されたクラスなし 主な新機能 対応機種 DoJa-5.0D系:D903i, D903iTV, D904i F系:F903i, F903iX, F903iBSC, F904i N系:N903i, N904i P系:P903i, P903iTV, P903iX, P904i SH系:SH903i, SH903iTV, SH703i, SH904i, SH704i, SH705i, SH705iII, SH706ie SO系:SO903i, SO903iTV, SO703i, SO704i DoJa-5.0LED系:D703i, D704i, D705i, D705iμ F系:F703i, F704i, F801i, F705i, F-05A N系:N703iD, N703iμ, N704iμ P系:P703i, P704i スペック強化 アプリのサイズが1024KB(JAR+スクラッチパッド)に増えた Imageクラスの強化 Image透過色と透明度の概念が追加された透過色を指定して透過や半透明での描画が可能 Bluetoothのサポート Bluetoothなど外部機器との接続を制御する トラステッド専用 OpenGLのサポート GraphicsOGLなどOpenGL ES 1.0相当の高速なグラフィックス機能が使用可能 トラステッド専用 形状衝突判定のサポート Collisionなど形状の衝突判定を行える 直感ゲーム向けセンサのサポート AccelerationSensor、Compass、RollReader、ShakeReaderなど加速度センサ、電子コンパス、端末の移動、端末の振動を検出可能 すべてオプションAPI メモリ管理機能の追加 MemoryManagerRuntimeのメソッドより詳細な情報が得られる Javaヒープ/ネイティブデータヒープごとのサイズを取得可能それぞれの最大連続空き領域も取得できる 追加されたクラス AbstractShape+継承クラス 衝突判定用の形状を表すShapeを実装している 次の継承ツリーを形成するAbstractBVBoxAABBox CapsuleAABCapsule CylinderAABCylinder Sphere LineRay Plane Point Triangle [任] AccelerationData 加速度センサから取得したデータを表すX/Y/Z軸方向の加速度と端末の傾きを取得可能 オプションAPI [任] AccelerationEventListener 加速度センサのイベントリスナ各種イベントの通知を行う オプションAPI [任] AccelerationSensor 加速度センサを制御する周期計測の開始と終了やデータの取得が可能 オプションAPI [任] AdhocDataTransfer Felicaのアドホック通信による連続データ転送を制御する オプションAPI [任] AudioTrackPresenter 動画(MediaImage)の音声部分を再生できるAudioPresenterAudioPresenter.getAudioTrackPresenter()で取得する 動画の音声部分同士は並列再生できない オプションAPI [任] BTConnection Bluetoothの接続を定義するインタフェースSPPConnectionが実装している オプションAPI [任] BTStateListener Bluetoothの接続状態の変化に関するイベントリスナ各種イベントの通知を行う オプションAPI BVBuilder FigureからBVFigureやBoundingVolumeを生成する BVFigure ボーン構造を持つFigureを表す複数のBoundingVolumeで構成される [信][任] Bluetooth Bluetoothの制御を行う主に外部機器との接続を制御する 外部機器はRemoteDeviceとして制御する トラステッドアプリ専用 / オプションAPI [任] CertificateStore ネイティブの証明書機能にアクセスする証明書データのIDを取得しPKCS7Signerのメソッドで使用できる オプションAPI [任] CheckPINParameters FeliCaカードのPIN属性参照用パラメータを表すパラメータの登録が可能 オプションAPI Collision 形状の衝突判定を行うDrawableObject3D#isCross()よりパフォーマンス重視の実装 CollisionObserver 形状の衝突時に通知を受けるためのインタフェースメソッドの呼び出しは非同期ではない [任] Compass 電子コンパスを制御する端末の向いている方向(方角)を取得できる オプションAPI [任] DTVParameter ワンセグから渡される連携パラメータを表すパラメータの更新はアプリのレジューム時に行われる オプションAPI [任] DTVSchedule ワンセグの視聴/録画予約スケジューラにアクセスする予約の登録を行うことができる オプションAPI [任] DTVScheduleParam DTVScheduleで登録に使用するパラメータを表す オプションAPI DataBoxFolder データBOXのフォルダ管理を行うフォルダの追加とフォルダのIDを取得可能 [任] DecomailDraft デコメールを表す「本文」はHTMLパートや添付ファイルも含む オプションAPI [任] DecomailTemplateStore デコメールのテンプレート管理機能にアクセスするテンプレートの追加/取得を行える オプションAPI [信][任] DirectBuffer+実装クラス GraphicsOGLで使用するバッファを表すDirectBufferFactoryのメソッドで取得する 確保されたメモリはコンパクションによって移動されることは無い 次の実装ツリーを形成するByteBuffer FloatBuffer IntBuffer ShortBuffer トラステッドアプリ専用 / オプションAPI [信][任] DirectBufferFactory GraphicsOGLで使用するバッファを確保するDirectBufferの実装クラスのインスタンスを取得できる トラステッドアプリ専用 / オプションAPI [任] ExifData JPEGのExifを表すタグ情報の取得と値の取得/設定を行える オプションAPI [任] FelicaAdhocListener Felicaのアドホック通信による連続データ転送のイベントリスナ各種イベントの通知を行う オプションAPI [任] FelicaClientObexConnection Felicaのアドホック通信にOBEXクライアントとして通信する場合の接続を定義する オプションAPI [任] FelicaPushListener Felicaが外部R/WからのPush通知を受けた際のイベントリスナPush通知を行う オプションAPI [任] FelicaServerObexConnection Felicaのアドホック通信にOBEXサーバとして通信する場合の接続を定義する オプションAPI [任] FelicaStatus FeliCaカードのエラー情報を表す オプションAPI [信][任] FloatMath 基本的な数値演算を行う三角関数と平方根が計算可能 ハードウェアを使用するためMathより高速 トラステッドアプリ専用 / オプションAPI [信][任] GPSLocationProvider GPSによって測位を行うLocationProviderのメソッドで取得する トラステッドアプリ専用 / オプションAPI [任] GestureReader 動作認識機能を表す動作認識はカメラから取得した画像を元に行う 実際に使用するのはこのクラスのサブクラス オプションAPI [信][任] GraphicsOGL OpenGL ES 1.0相当のグラフィックス機能を提供するインタフェースGraphicsのインスタンスをキャストして使用する Graphicsの2D描画とは混在できないが共存は可能明示的な切り替えが必要 Graphics3Dとは競合する先に使用された方のみが有効となる トラステッドアプリ専用 / オプションAPI IntersectionAttribute Pickした情報を保持するCollisionObserver#onPick()で使用する [信][任] Matrix4f 同次変換を行う4x4行列を表す処理高速化のため行列要素へのアクセスはメンバの直接参照が推奨されている トラステッドアプリ専用 / オプションAPI MemoryManager DoJaのメモリ管理機構にアクセスする各区画の情報を取得できる(区画0は常にJavaヒープ) 最大連続空き領域を取得できる大きいメモリを確保時にGCが必要かを判定できる GC後にも領域が不足するケースを検出できる [任] OwnerProfile マイプロフィールのデータを管理するマイプロフィールの各種データを取得できる オプションAPI [任] PINAttributeData FeliCaカードのPIN属性データを表す オプションAPI [信][任] Point3f 3次元の点を表すTuple3fの実装クラス トラステッドアプリ専用 / オプションAPI [信][任] Point4f 4次元の点を表すTuple4fの実装クラス トラステッドアプリ専用 / オプションAPI [任] RemoteDevice Bluetoothで接続する外部機器を表す オプションAPI [任] RollData ロール動作の認識処理結果を表すRollReaderのメソッドで取得する X/Y方向の移動量と処理結果の品質を取得可能 オプションAPI [任] RollReader ロール動作の認識を行う端末の向きを変えたときの移動量を取得可能 オプションAPI [任] SPPConnection BluetoothのSPP通信時の接続を定義するインタフェース オプションAPI [任] ShakeReader シェイク動作の認識を行う端末が振られたときの振動量を取得可能 オプションAPI Shape 衝突判定用の形状を表すすべての形状の基底インタフェース 形状に応じてこのクラスのサブインタフェースを実装している 次の実装ツリーを形成するBoundingVolumeAxisAlignedBV [任] ThruRWOfflineFelica FeliCaのオフライン処理によって外部カードにアクセスする オプションAPI [任] TrackingListener 定期的な測位中に測定結果を受け取るためのリスナLocationProviderのメソッドで設定する オプションAPI [信][任] Tuple3f 3次元要素を表すPoint3fとVector3fが継承している 処理高速化のため要素へのアクセスはメンバの直接参照が推奨されている トラステッドアプリ専用 / オプションAPI [信][任] Tuple4f 4次元要素を表すPoint4fとVector4fが継承している 処理高速化のため要素へのアクセスはメンバの直接参照が推奨されている トラステッドアプリ専用 / オプションAPI [信][任] Vector3f 3次元ベクトルを表すTuple3fの実装クラス トラステッドアプリ専用 / オプションAPI [信][任] Vector4f 4次元ベクトルを表すTuple4fの実装クラス トラステッドアプリ専用 / オプションAPI ViewVolume 視錐台におけるBoundingVolumeの可視判定を行う [任] Display2 Displayのオプション機能を定義する ディスプレイ向き変更のイベントを取得できるCanvas#processEvent()の第一引数に渡される この場合、第二引数に画面の向きが渡される画面の向きはPhoneSystem2.ATTR_DISPLAY_STYLE_*で定義されている オプションAPI [任] MediaPlayer 外部メモリに格納されている動画(File)を直接再生できるネイティブプレイヤーを使用するため停止などのメソッドは無い オプションAPI [任] RadioTuner ラジオチューナーを制御するオン/オフ、周波数、音量などを制御可能 他の音声とは同時に再生できない(かつ同時再生時の優先度が低い) サスペンド状態/待ち受け休眠状態でも音は鳴り続けるアプリを終了すると停止する オプションAPI 変更のあったクラス AudioPresenter AudioTrackPresenterを取得するメソッドが追加された 曲の演奏時間をミリ秒単位で取得できるようになった 再生のループ回数を指定できるようになった 再生完了時にAUDIO_COMPLETEが発生するようになった 再生ループ時にAUDIO_LOOPEDが発生するようになった CodeReader 設定できるフォーカスの種類のリストを取得できるようになった フォーカスの状態を取得/設定できるようになった Display GPSキーを表す定数が追加された [任] Felica activate()が非推奨になった903i以降ではactivate()を呼ばなくても外部R/Wからのアクセスが可能なため Font フォントサイズをドット単位で指定できるようになった 対応しているドットサイズの一覧を取得できるようになった Frame+継承クラス ソフトキーの表示/非表示を設定できるようになったCanvasのみで有効 その他のクラスではオーバーライドで機能が止められている IApplication 起動タイプの定数がいくつか追加された iモードブラウザをサスペンドして起動できるようになった ワンセグを起動できるようになった Image 透過色と透明度の概念が追加された透過色を指定して透過したり半透明での描画が可能 それぞれのパラメータはImageが持つ(Graphics#drawImage()に指定するわけではない) TransparentImageとGraphics2の機能の一部が実装されたようなもの ImageStore 指定フォルダ内の画像IDをサスペンド無しに一度に取得できるようになったフォルダIDはDataBoxFolderのメソッドで取得する [信] MailAgent デコメールの送信ができるようになった MediaImage Exif情報を取得/設定できるようになった MediaResource+実装クラス メモリを効率よく利用できるuse()のオーバーロードが追加された一度きり指定+メモリ領域の使いまわしによって実現 一部の実装クラスでは複数のリソースに対して一度に上記のuse()を実行できる MovieStore 指定フォルダ内の動画IDをサスペンド無しに一度に取得できるようになったフォルダIDはDataBoxFolderのメソッドで取得する PalettedImage 空のイメージを生成できるようになった byte[]やInputStreamで内容を差し替えられるようになった生成済みインスタンスのメモリ領域を使いまわせる PKCS7Signer 任意の秘密鍵でデジタル署名付きデータを生成できるようになった [任] Toruca IP-ID、色ID、カナID、再配布識別子、有効期限の概念が追加された各種データの取得が可能 プロパティ値の取得/設定ができるようになった [任] TorucaStore 端末内のトルカを検索できるようになった VisualPresenter ネイティブプレイヤーの全画面で再生できるようになった強制的な指定も可能 [任] CodeReader2 FPコードを表す定数が追加された [任] PhoneSystem2 画面の向き(スタイル)を取得できるようになった 画面の向きを表す定数が追加されたこの定数はDisplay2でも使用する 削除されたクラス なし 今回のバージョンアップでクラスは削除されていない
https://w.atwiki.jp/wnt0/pages/21.html
処理の呼び出し手順(流れ)の再利用 デフォルト動作を定義したときに、サブクラスで定義し忘れないよう注意 メリット 処理の流れを把握しやすい カスタマイズポイントが明確 処理の流れの再利用ができ、コード量を減らせる http //www.dofactory.com/Patterns/PatternTemplate.aspx#_self1 をc++にした (structural example) #include iostream using namespace std; // The AbstractClass abstract classclass AbstractClass {public // The "Template method" void TemplateMethod() { PrimitiveOperation1(); PrimitiveOperation2(); PrimitiveOperation3(); cout endl; } virtual void PrimitiveOperation1() = 0; virtual void PrimitiveOperation2() = 0; // hook method virtual void PrimitiveOperation3() { cout "AbstractClass PrimitiveOperation3()" endl; }}; // A ConcreteClass classclass ConcreteClassA public AbstractClass {public virtual void PrimitiveOperation1() { cout "ConcreteClassA PrimitiveOperation1()" endl; } virtual void PrimitiveOperation2() { cout "ConcreteClassA PrimitiveOperation2()" endl; }}; // A ConcreteClass classclass ConcreteClassB public AbstractClass {public virtual void PrimitiveOperation1() { cout "ConcreteClassB PrimitiveOperation1()" endl; } virtual void PrimitiveOperation2() { cout "ConcreteClassB PrimitiveOperation2()" endl; } virtual void PrimitiveOperation3() { cout "ConcreteClassB PrimitiveOperation3()" endl; }}; // clientint main() { AbstractClass *aA, *aB; aA = new ConcreteClassA(); aA- TemplateMethod(); aB = new ConcreteClassB(); aB- TemplateMethod(); delete aA; delete aB; return 0;} 出力 ConcreteClassA PrimitiveOperation1() ConcreteClassA PrimitiveOperation2() AbstractClass PrimitiveOperation3() ConcreteClassB PrimitiveOperation1() ConcreteClassB PrimitiveOperation2() ConcreteClassB PrimitiveOperation3() 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Template Method http //japan.internet.com/developer/20080909/26.html
https://w.atwiki.jp/memo77/pages/27.html
PageLastUpdate 2010-10-14/total - /today - /yesterday - クリックすると見出し一覧を表示します Windows Server 2008からはドメイン内で複数のパスワードポリシーを設定できる グループ ポリシー オブジェクトにクリスタル レポートの64bit向けmsiパッケージを追加しようとするとエラー レジストリの有無を確認した上で、存在すればレジストリを削除 Windows 2000 では「gpupdate /force」ではなく「secedit /refreshpolicy」 XPクライアントに特定のユーザー/グループのみログインを許可する WSUSで承認された更新プログラムをすぐにクライアントに反映させる DHCPでルーティングを設定 Domain Computersのローカル管理者パスワードを任意の値に変更する1.Domain Computersのみ閲覧可能な共有フォルダを作成 2.スタートップスクリプトで起動時にローカル管理者パスワードの変更チェック用ファイルを生成 3.タスクスケジューラーが1時間に1回LocalAdminChange.vbsを実行 備考 Acrobat Reader 8が「内部エラー 2753。Updater.api_NON_OPT」でアンインストールできない Excelファイルの個人情報を削除してもプリンタのパスが残る Bullzip PDF Printerのサイレントインストール関連記事 2008/12/17追記 VBScriptでフォルダのアクセス権におけるユーザーの継承元を調べる 「Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パック」をWSUSで配布する コンピュータ名の一覧を元にローカルAdministratorのパスワードを変更するスクリプト ローカル管理者としてドメインユーザーを追加/削除する LDAPとログインIDを指定してユーザーオブジェクトを取得する関数呼び出し方 関数本体 ファイルサーバーリソースマネージャ用にSMTPサーバーを立てる WSHで配列の比較にScripting.Dictionaryを使って高速化サンプルソース テキストファイルからユーザーの一覧を読み込んで「ユーザーは次回ログオン時にパスワード変更が必要」に設定参考アドレス グループポリシーオブジェクトエディタで設定した項目がレポートで正しい名称で表示されない コンピュータのSIDの取得 SIDについての詳細な記事があったのでメモ Windows 2000 と Windows XP のコンピュータ アカウントのリセット ローカル管理者のパスワードを一括で更新するスクリプト SQLServer200のサイレントインストール setup.exeでサイレントインストール Windows Server 2003 R2 でファイル サーバー リソース マネージャを有効にする アプリケーションログに5分おきにイベント1030と1058が記録される。 dsaddを使ってActive Directoryにユーザーを追加する グループポリシーオブジェクトエディタでびっくり レジストリの配布をグループポリシーでやるべきか 無線環境のPCにグループポリシーでアプリケーションを配布する。 admファイルを使用してレジストリを配布する ローカルセキュリティポリシーはDefault Domain Controllers Policyでなければ有効にならない? Acrobat Reader 8.1をmsiファイルで配布するFlash Player をmsiファイルで配布する コンピュータ名の長さの制限など ADSI関連で物凄く参考になるサイト スクリプトでOutlook Expressのアカウントを修正する ACLからフルコントロールを持つアカウントを削除してしまった場合の対処 ちゃうねん 信頼関係 Defaul Domain Policyの 復旧 comment Windows Server 2008からはドメイン内で複数のパスワードポリシーを設定できる 2010/04/30 http //technet.microsoft.com/ja-jp/library/cc770394(WS.10).aspx これしらなかったのでメモ。 グループ ポリシー オブジェクトにクリスタル レポートの64bit向けmsiパッケージを追加しようとするとエラー 2009/12/01 ドメインコントローラー Windows Server 2003 R2(32bit) 対象クライアント Windows 7 Professonal 64bit Japanese 使用したパッケージ CRRedist2005_X64.msi、CRRedist2005_X64_JP.msi Windows 7の64bit版導入に伴ってクリスタル レポートをGPOで配布しようとしたところ 追加操作でエラーが発生しました。パッケージから展開情報を抽出できませんでした。 パッケージが正しいことを確認するためにパッケージの確認を実行してください。 GPO を作成できません。 と怒られる。 KB324886が出ているけれど、これはWindows2000向けで特に64bitとか関係なさそう。Windows2003で関連する情報を見つけることはできなかった。 専用のGPOを作成したので32bitと64bitの混在とかそういう問題ではないっぽい。 もしかしてサーバーが32bitOSだと、64bit用のパッケージは展開できないのだろうか。 とりあえず1台だけだったので手動で設定したが、今後台数が増えるとめんどくさい。 未解決なのでわかる方がいましたら教えてください。 → 2010/10/13解決 2008R2、64bitのサーバーをメンバサーバーとして追加。グループポリシー管理エディタを機能として追加。 そのサーバーからGPOを設定することで回避できました。ドメコンではなくメンバサーバーでよいので助かった。 ただ誰でも使える方法ではないので本当は解決とは言い難いですね。 レジストリの有無を確認した上で、存在すればレジストリを削除 2009/11/10 On Error Resume Next strRegValue = wss.RegRead("レジストリのパス") On Error Goto 0 If strRegValue "" Then wss.RegDelete("レジストリのパス") End If Windows 2000 では「gpupdate /force」ではなく「secedit /refreshpolicy」 2009/04/27 http //www.atmarkit.co.jp/fwin2k/win2ktips/616gpupdate/gpupdate.html secedit /refreshpolicy XPクライアントに特定のユーザー/グループのみログインを許可する 2009/04/02 1.[コンピュータの管理]-[ローカル ユーザーとグループ]-[グループ]を開く 2.Usersから下記の3グループを削除 Domain Users NT AUTHORITY\Authenticated Users (S-1-5-11) NT AUTHORITY\INTERACTIVE (S-1-5-4) 3.ログインさせたいユーザー/グループを追加 いちおうこの手順でできた。[Domain Users]だけではダメ。 [NT AUTHORITY\Authenticated Users (S-1-5-11)]を抜いてもダメ。 [NT AUTHORITY\INTERACTIVE (S-1-5-4)]まで抜いたら期待通りに動作しました。 ただし、まだ様々な動作で不具合が出るかどうか未検証。 WSUSで承認された更新プログラムをすぐにクライアントに反映させる 2009/04/01 基本は更新プログラムの承認時に[更新の承認]→[期日]で日時指定をしておくことですが、コマンドラインからやりたい場合は wuauclt.exe /resetauthorization /detectnow でできる。 DHCPでルーティングを設定 2009/02/17 xxx.yyy.0.0のネットワークでデフォルトゲートウェイはxxx.yyy.0.250だとする。 xxx.zzz.0.0への接続だけxxx.yyy.0.251のゲートウェイ(ルーター)に振り分けたい。 1.まずDHCPではなくコマンドラインで設定してテストして見る route add xxx.yyy.0.0 mask 255.255.0.0 xxx.yyy.0.251 2.設定できたか確認 route print 3.経路情報を確認 tracert xxx.yyy.0.0 4.テスト用の接続情報を削除 route delete xxx.yyy.0.0 5.DHCPにてスコープオプションに「249 クラスレス静的ルート」にチェックを入れて下記の通り設定。 宛先:xxx.zzz.0.0 マスク:255.255.0.0 ルーター:xxx.yyy.0.251 6.経路情報を確認 tracert xxx.yyy.0.0 とりあえず俺がわかっていなかったので超簡略化して書いておく。 aaa.bbb.0.0で0を指定した後ろ二つは1-255の範囲を指すことになる。サブネットマスクは255.255.0.0。 aaa.bbb.ccc.0に対してならサブネットマスクは255.255.255.0のようにすればよい。 この理解だけだと間違いなので、この記事とか読んで理解してから設定しないと痛い目みるかも。 http //www.atmarkit.co.jp/fnetwork/netcom/route/route.html Domain Computersのローカル管理者パスワードを任意の値に変更する 2009/02/04 スタートアップ スクリプトとタスク スケジューラーを併用することで実現しています。 ここに辿り着くまでの経緯 Administratorは使用不可にしてもセーフモードで起動すると使えてしまう。対策はパスワードを困難なものにするしかない。できれば定期的に変更する。 Windowsの基本機能のみで実装する。 100台以上のDomain Computersすべてをループしてチェックすると、電源の入っていないPCなどの応答待ちでスクリプトの実行時間が長すぎる。 スタートアップ スクリプトを使用して、起動したコンピュータのみチェックすることで負荷を軽減する。 コンピューターから見えないスクリプトは実行できないが、スクリプトにパスワードを書くと閲覧される危険性がある。 パスワードを変更するたびにexeを差し替えたりするのは望ましくない。exeから逆コンパイルされる可能性も高い。 タスク スケジューラーであれば、コンピューターから見えないスクリプトを実行可能。 タスク スケジューラーはウィザードでは1日単位しか設定できないが、設定した後にプロパティで「9 00から17 00まで1時間ごとに繰り返し実行」のような指定ができる(不親切。最初にタスク登録しようとしたときは「1日単位しかできないのかよ!」と思って諦めていた。) 1.Domain Computersのみ閲覧可能な共有フォルダを作成 \\MyServer\LocalAdminCheck 2.スタートップスクリプトで起動時にローカル管理者パスワードの変更チェック用ファイルを生成 Set net = CreateObject("WScript.Network") Set fso = CreateObject("Scripting.FileSystemObject") donePath = "\\MyServer\LocalAdminCheck\Done\" net.ComputerName ".txt" undonePath = "\\MyServer\LocalAdminCheck\Undone\" net.ComputerName ".txt" IF fso.FileExists(donePath) = False Then set fp = fso.CreateTextFile(undonePath,True) fp.Close End If 3.タスクスケジューラーが1時間に1回LocalAdminChange.vbsを実行 このスクリプトは共有されていないフォルダに置きます。 Set fso = CreateObject("Scripting.FileSystemObject") doneFolder = "\\MyServer\LocalAdminCheck\Done" undoneFolder = "\\MyServer\LocalAdminCheck\Undone" For Each file In fso.GetFolder(undoneFolder).Files targetName = fso.GetBaseName(file.Path) donePath = doneFolder "\" targetName ".txt" undonePath = undoneFolder "\" targetName ".txt" On Error Resume Next Set objUser = GetObject("WinNT //" targetName "/Administrator, user") Select Case Err Case 0 objUser.SetPassword "ここにパスワードを記述" objUser.SetInfo set fp = fso.CreateTextFile(donePath,True) パスワードが設定できたら、このスクリプトの更新日をDoneフォルダのコンピュータ名.txtに出力 fp.Writeline fso.GetFile(Wscript.ScriptFullName).DateLastModified fp.Close Undoneフォルダから削除 file.Delete Case Else 設定できなかったら、エラーコードをUndoneフォルダのコンピュータ名.txtに出力 set fp = fso.CreateTextFile(undonePath,True) fp.writeline Err fp.Close End Select Next 備考 まあここまでできれば、パスワードを定期的に変更しつつそれをログに記録していくとかどうにでも組めますね。 1台づつパスワード変えたければ日時とコンピュータ名でハッシュ化しちゃうとかいろいろ。 懸念として意図しないコンピュータ名をフォルダに送り込まれる可能性がありますが、ローカル管理者のパスワードを推測不能「こちらに既知で相手に未知」なものに変更されてもそれほどダメージはないのでよしとしておきます。 Acrobat Reader 8が「内部エラー 2753。Updater.api_NON_OPT」でアンインストールできない 2009/01/09 検索後:アップデート http //www.adobeforums.com/webx/.3c05d1a2 グループポリシーでAcrobat Reader 9を配布したら、なぜかこける。 ログを確認したらでAcrobat Reader 8のアンインストールでこけている。 手作業でアンインストールしてみると「内部エラー 2753。Updater.api_NON_OPT」。 エラーメッセージで検索すると、パッチが当たっているとアンインストールできないらしい。馬鹿だ。 Adobeのサイトにはめんどくさい方法が書いてあったけど、下記レジストリを削っちゃえばOK。 REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Features\68AB67CA7DA71401B7448A0100000030 REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\68AB67CA7DA71401B7448A0100000030 Excelファイルの個人情報を削除してもプリンタのパスが残る 2008/06/17 Excel 2002を元に記述していますので、2003は同じだと とりあえず下記を参考にすると、ファイルのプロパティ情報を消して、下記設定をすればいいように読めます。 http //office.microsoft.com/ja-jp/excel/HP010503321041.aspx [ツール]→[オプション]→[セキュリティ] タブ→[保存時にファイルのプロパティから個人情報を削除する] チェック ボックスをオンに。 ところがこれだけだと不完全で、メモ帳で開いてみるとわかりますが、プリンタのパスが残っています。 ドメイン環境で使っていると、どこの会社から出たものかモロバレですねw 会社名が残るとまずい場合は、ローカルプリンタで印刷してから上書き保存しましょう。 Bullzip PDF Printerのサイレントインストール 2008/05/30 フリーのPDF生成プリンタドライバ。商用利用も無料。 ダウンロード → http //www.bullzip.com/products/pdf/info.php#download ドキュメント → http //www.biopdf.com/guide/ セットアップファイルはexeのみ。msiは提供されていないので、サイレントインストールをするには少し準備が必要。 1.http //www.bullzip.com/products/pdf/info.php#downloadから本t内をダウンロード。解凍して、適切な配布用フォルダに置く。 2.http //www.bullzip.com/download/gsl/gslite.exeからgslite.exeをダウンロード。本体と同じ配布用フォルダに置く。 3.何らかの方法で BullzipPDFPrinter_5_0_0_609.exe /VERYSILENT /NORESTART をクライアントに実行させます。管理者権限が必要なのでスタートアップスクリプトがよいと思いますが、実行するたびにプリンタが増えていくので注意。 関連記事 http //gigazine.net/index.php?/news/comments/20080116_bullzip_pdf_printer/ 2008/12/17追記 今日気づいたけど最新版は商用利用は10ユーザーに制限されているっぽい。 過去のバージョンまで遡及適用かどうかこれから調査。 VBScriptでフォルダのアクセス権におけるユーザーの継承元を調べる 2008/05/26 http //q.hatena.ne.jp/1210910352 「Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パック」をWSUSで配布する 2008/05/16 互換機能パックは下記からダウンロードできますが、配布形態はexeのみでmsiがありません。 http //www.microsoft.com/downloads/details.aspx?displaylang=ja FamilyID=941b3470-3ae9-4aee-8f43-c6bb74cd1466 コマンドラインで次のように入力しmsiファイルと関連データを取り出します。 FileFormatConverters.exe /extract c \temp\ →[マイクロソフト ソフトウェア ライセンス条項に同意するにはここをクリックしてください]にチェックを入れて[次へ]→「ファイルが正常に解凍されました。」 /extract で指定したパスにmsiファイルと関連ファイルが解凍されるので、配布用のフォルダにすべてコピーします。 あとは普通にグループポリシーで配布設定をすればOKです。 ちなみにサービスパックが出ているので、WSUSでサービスパックの配布をするのも忘れないようにしましょう。 コンピュータ名の一覧を元にローカルAdministratorのパスワードを変更するスクリプト 2008/05/14 はてなの質問に回答。 すべての端末の電源が入っているとは限らないので、ログを取れるようにした。 失敗しているものだけ再度リストにして流す必要あり。 パスワードを直接記述している以上、このスクリプトを見られることは深刻な脆弱性に繋がるので注意。 【書換必須】コンピュータを列挙したファイルパス。コンピュータごとに改行。 strListPath = "C \Documents and Settings\Administrator\デスクトップ\List.txt" 【書換必須】結果を出力するログファイルパス。 strLogPath = "C \Documents and Settings\Administrator\デスクトップ\Log.txt" 【書換必須】指定したい管理者パスワード strPWD = "czBnkbe+47i" Set fso = CreateObject( "Scripting.FileSystemObject" ) Set ts = fso.OpenTextFile( strListPath, 1 ) lines = Split( ts.ReadAll, vbCrLf ) ts.Close set tsLog = fso.CreateTextFile(strLogPath,True) On Error Resume Next For i = 0 to Ubound(lines) - 1 strComputer = lines(i) Set objUser = GetObject("WinNT //" strComputer "/Administrator, user") objUser.SetPassword strPWD objUser.SetInfo tsLog.WriteLine(strComputer "," Err.Number " " Err.Description) Err.Clear Next tsLog.Close Msgbox "Finish!" ローカル管理者としてドメインユーザーを追加/削除する 2008/04/18 遠隔地のPCにリモートで繋がらない。プリンタドライバをインストールしたいだけなんだけど。 とりあえず緊急回避としてユーザーに自分でインストールしてもらうことに。 Domain Admin権限を与えるのはイヤだったので、スクリプトで一時的にローカル管理者にすることに。 最初LDAPでユーザーオブジェクト取得して突っ込もうとするとコケる。下の関数がその名残ですw 調べてみたら、WinNTプロバイダを使わなくちゃいけないんですってさ。 http //www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1008.mspx strComputer = "hoge" strUser = "moge" Set objGroup = GetObject("WinNT //" strComputer "/Administrators") Set objUser = GetObject("WinNT //example.co.jp/" strUser) objGroup.Add(objUser.AdsPath) objGroup.Remove(objUser.AdsPath) MsgBox "終了しました" LDAPとログインIDを指定してユーザーオブジェクトを取得する関数 2008/04/18 呼び出し方 strLDAP = "LDAP //DC=example,DC=co,DC=jp" strName = "username" Set objUser = GetUserObject(strLDAP,strName) MsgBox objUser.Name 関数本体 Function GetUserObject (strLDAP,strName) Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject("ADODB.Connection") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE samAccountNameは一意のはず(たぶん。調査した範囲では間違いなく。) objCommand.CommandText = "SELECT distinguishedName FROM " strLDAP _ " WHERE objectCategory= user AND samAccountName= " strName " " Set objRecordSet = objCommand.Execute IF objRecordSet.RecordCount = 1 Then objRecordSet.MoveFirst strDN = objRecordSet.Fields("distinguishedName").Value Set objUser = GetObject("LDAP //" strDN) Set GetUserObject = objUser Else Set GetUserObject = Nothing End If End Function ファイルサーバーリソースマネージャ用にSMTPサーバーを立てる 2008/04/17 ファイルサーバーリソースマネージャでメール通知を出させようと思ったら、smtpサーバーの設定がほんとにアドレスしか設定できない。 匿名アクセスのみって、大丈夫なのかよと思いつつ、やむなくsmtpサービスを有効にすることに。 なにかしらドメイン内だけに限定するような設定あるだろ、たぶん。 ということで↓ Windows Server 2003 の IIS SMTP 仮想サーバーでメールの中継を防ぐ方法 1.[プログラムの追加と削除]→[Windows コンポーネントの追加と削除]→[アプリケーション サーバー]→[詳細]→[インターネット インフォメーション サービス(IIS)]→[詳細]→[SMTPService]をチェック。 結構深い。CDは要求されたけど再起動は不要(これ結構重要)。 2.IISマネージャに[既定の SMTP 仮想サーバー]が追加されるので [既定の SMTP 仮想サーバー]を右クリック→[プロパティ]→[アクセス]タブで以下の2点を設定 [接続]→[以下のリストに含まれるコンピュータのみ]をチェックして、127.0.0.1とサーバーのアドレスを追加 [中継]→[以下のリストに含まれるコンピュータのみ]をチェックして、127.0.0.1とサーバーのアドレスを追加 この記事も参考になった↓ 実例で学ぶSBS 2003ネットワーク構築と運用 第2回 SBS 2003のメール設定 4.メールのオープン・リレー対策(2) WSHで配列の比較にScripting.Dictionaryを使って高速化 2008/04/05 検索後:リニアサーチ、Linear Search、ハッシュテーブル Active Directoryつか、WSHだけど、WSHをADの管理にしか使ってないからとりあえずココで。 二つの配列の内容を比較するのに馬鹿ループ(リニアサーチ)とDictionaryでどのくらい速度が違うのかを計測。 データ数 1000×1000 65536×65536 Dictionaly 0.98秒 1.97秒 リニアサーチ 113.16秒 終わらないから強制終了w サンプルソース Set fso = CreateObject( "Scripting.FileSystemObject" ) lines1にテキストファイルからリスト1を読み込み Set ts = fso.OpenTextFile( "List1.txt", 1 ) lines1 = Split( ts.ReadAll, vbCrLf ) ts.Close lines2にテキストファイルからリスト2を読み込み Set ts = fso.OpenTextFile( "List2.txt", 1 ) lines2 = Split( ts.ReadAll, vbCrLf ) ts.Close ■Dictonaryを使用した存在確認 start1 = timer Set dic = CreateObject( "Scripting.Dictionary" ) For i = 0 to Ubound(lines) - 1 dic.Add lines(i) , 0 Next For i = 0 to Ubound(lines2) - 1 If dic.Exists(lines2(i)) = True Then End If Next elapsed 1= timer1 - start ■リニアサーチを使用した存在確認 start2 = timer For i = 0 to Ubound(lines) - 1 For j = 0 to Ubound(lines2) - 1 IF lines(i)=lines2(j) Then Exit For Next Next elapsed2 = timer - start2 ■結果表示 MsgBox "Dictionaly " elapsed1 vbcrlf "リニアサーチ " elapsed2 テキストファイルからユーザーの一覧を読み込んで「ユーザーは次回ログオン時にパスワード変更が必要」に設定 2008/04/05 検索語:スクリプト、WSH とりあえず組んだ。エラー処理とかしてないけど。 strPath = "C \Documents and Settings\Administrator\デスクトップ\Users.txt" strLDAP = "LDAP //dc=example,dc=co,dc=jp" Const ADS_SCOPE_SUBTREE = 2 Set fso = CreateObject( "Scripting.FileSystemObject" ) Set ts = fso.OpenTextFile( strPath, 1 ) lines = Split( ts.ReadAll, vbCrLf ) ts.Close Set dicUsers = CreateObject( "Scripting.Dictionary" ) For i = 0 to Ubound(lines) - 1 dicUsers.Add lines(i) , 0 Next Set objConnection = CreateObject("ADODB.Connection") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = "SELECT distinguishedName,CN FROM " strLDAP " WHERE objectCategory= user " Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF strDN = objRecordSet.Fields("distinguishedName").Value IF dicUsers.Exists(objRecordSet.Fields("CN").Value) Then Set objUser = GetObject("LDAP //" strDN) objUser.pwdLastSet = 0 objUser.SetInfo End If objRecordSet.MoveNext Loop 参考アドレス Hey, Scripting Guy! ある OU のすべてのユーザーが次にログオンしたときにパスワードの変更を要求する方法はありますか テキストファイル一括入力と連想配列 グループポリシーオブジェクトエディタで設定した項目がレポートで正しい名称で表示されない 2008/04/02 グループポリシー管理コンソールのレポートで、[管理用テンプレート]-[レジストリの追加設定]という項目が表示され いくつかの設定の表示名が見つかりません。グループ ポリシーの管理が使用している .ADM ファイルを更新すると、この問題を解決できる場合があります。 Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ListBox_Support_ZoneMapKey 1 Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMapKey\... と表示されている。 調べてみると [コンピュータの構成]-[管理用テンプレート]-[Windows コンポーネント]-[Internet Explorer]-[インターネットコントロールパネル]-[セキュリティページ] 内の項目 [サイトとゾーンの割り当て一覧] に設定した内容だった。 コンピュータのSIDの取得 2008/01/29 以前から調査していたコンピュータのSIDの取得方法がやっとわかった。 http //www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic topic=34260 forum=6 start=0 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Members\ HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account\Aliases\Members\ 管理者アカウントでも見ることはできなくて、システムアカウントでアクセスする必要がある。 問題はこの後で、これを読み出すのはいいとして、ファイルとして保存したとすると、漏洩したときにどのぐらいセキュリティにダメージがあるのかがわからない。暗号化フォルダなどはこれで解析できそうだけど。 普通のユーザーのSIDはレジストリエディタで丸見えだけど。どうなのかな。 2008/01/30 追記:とりあえず暗号化フォルダの復号もできないし、SIDは公開されるのが前提のようなのでちょっと安心。 SIDについての詳細な記事があったのでメモ 2008/01/29 検索語:セキュリティID http //codezine.jp/a/article/aid/434.aspx Windows 2000 と Windows XP のコンピュータ アカウントのリセット 2008/01/29 ときどきPCがドメインから追い出されることがあるのはたぶんこのせいか。 resetは知らなかったのでとりあえずメモ。 http //support.microsoft.com/default.aspx?scid=kb%3Bja%3B216393 ローカル管理者のパスワードを一括で更新するスクリプト ドメインに所属するクライアントのローカル管理者のパスワードを一括で更新します。 ドメインの管理者権限を持つユーザーでログインして実行します。 実際にはクライアントが起動していないと変更されませんので、スタートアップスクリプトを併用することも考えたほうがよいかも。 でもパスワード文字列を読み取れるファイルに記録してしまうとまずいので悩んでいるところです。 データベースを使って変更の成否を記録しながら一定間隔で個別に流すかなぁ。 なにかいい方法を知っている人がいれば教えてください。 strLogPath="Log.txt" strPWD="ExamplePassword" Const ADS_SCOPE_SUBTREE = 2 ADODBコネクションの作成 Set objConnection = CreateObject("ADODB.Connection") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" ADODBコマンドでドメインに所属するコンピュータを問い合わせ Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = objConnection objCommand.CommandText = "SELECT Name,OperatingSystem FROM LDAP //DC=example,DC=co,DC=jp WHERE objectClass= computer " objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute 各クライアントの成否を記録するログファイルを生成 set fso = CreateObject("Scripting.FileSystemObject") set fp = fso.CreateTextFile(strLogPath,True) On Error Resume Next objRecordSet.MoveFirst Do Until objRecordSet.EOF strComputer = objRecordSet.Fields("Name").Value サーバーの管理者パスワードを変えてしまわないようにOSで限定しています。 これはまあOU使ってもいいですし、絞り方はいろいろ。 If objRecordSet.Fields("OperatingSystem").Value="Windows XP Professional" Then Set objUser = GetObject("WinNT //" strComputer "/Administrator, user") objUser.SetPassword strPWD objUser.SetInfo fp.WriteLine(strComputer "," Err.Number " " Err.Description) End If objRecordSet.MoveNext Loop fp.Close Msgbox "Ok" SQLServer200のサイレントインストール http //support.microsoft.com/kb/257716/ja http //hehao1.seesaa.net/article/5454554.html setup.exeでサイレントインストール 2007/11/08 検索語:インストールシールド Install Shield 応答ファイル http //www33.ocn.ne.jp/~loreley/FSB/installs01.html Setup.exe -a -r -f1c \testSet.iss で応答ファイルを作成して Setup.exe -s -f1c \testSet.iss でサイレンとインストール、という感じ。 関連URL http //www.microsoft.com/japan/technet/desktopdeployment/bdd/2007/AppMgmt_6.mspx Windows Server 2003 R2 でファイル サーバー リソース マネージャを有効にする 2007/10/26 ファイルサーバーでクォータを使おうと思ったら、2003R2からあるはずのFSRMが見当たらず。 ああでもないこうでもないといじりまわしても見つけられず、検索をかけたら下記サイトが http //www.microsoft.com/japan/technet/itsolutions/msit/valuecard/msfsrmvc.mspx ファイル サーバー リソース マネージャを有効にします。 って・・・俺はどうやって有効にするか知りたいんだよ! 結局TeckNetで 「ファイル サーバー リソース マネージャのコンポーネントを使用する」 http //www.microsoft.com/japan/technet/windowsserver/2008/library/0cd724af-b8c7-4fe8-bcd7-0889f35b5ec8.mspx を見つけました。 ああ、[プログラム の追加と削除] の [管理ツール]ね。 そういえばグレーになってたけど中を開けて見なかった私が悪いのです。 アプリケーションログに5分おきにイベント1030と1058が記録される。 2007/10/22 イベントID 1030 グループ ポリシー オブジェクトの一覧を照会できません。このエラーの理由を説明するようなメッセージをポリシー エンジンが記録していないかどうか、イベント ログを確認してください。 詳細な情報は、http //go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。 イベントID 1058 GPO cn={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX},cn=policies,cn=system,DC=example.co.jp,DC=example,DC=co,DC=jp 用のファイル gpt.ini にアクセスできません。ファイルは場所 \\example01.co.jp\sysvol\example01.co.jp\Policies\[XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\gpt.ini に存在する必要があります (アクセスが拒否されました。 )。グループ ポリシーの処理は中止されました。 詳細な情報は、http //go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。 いつのころからかこのエラーが5分置きに記録されていてうっとおしかったんで、調べたらKBにありました。 http //support.microsoft.com/kb/842804/ja 「グループ ポリシーの処理が機能せず、ドメイン コントローラのアプリケーション ログにイベント 1030 および 1058 が記録される」 ただ、最初読んだときは「最新のService Packで解決する。」と書いてあったので、「ウチは最新だからちがうのかなぁ」とスルーしてしまった。 かなり時間を使ってしまってから舞い戻り、精読したら、「注:Service Pack のインストール後でも、「レジストリ情報」に記載されている手順を実行する必要があります。」と書かれていたorz。 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\WaitForNetwork]にDWORD値で1を設定し、再起動したら解決。 レジストリファイルが必要な方はどうぞ→http //www31.atwiki.jp/memo77/?cmd=upload&act=open&page=Active+Directory&file=WaitForNetwork.zip dsaddを使ってActive Directoryにユーザーを追加する 2007/10/22 自分用のサンプル構文 dsadd user "CN=山田 太郎,OU=部門1,OU=Domain Users,DC=example01,DC=example,DC=or,DC=jp" -ln 山田 -fn 太郎 -display 山田 太郎 -upn taro-yamada@example.co.jp -pwd Example01 -mustchpwd yes -memberof "CN=総務部,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=総務部長,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=防火責任者,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" "CN=プロジェクトチーム1,OU=Security Groups,DC=example01,DC=example,DC=co,DC=jp" -disabled no グループポリシーオブジェクトエディタでびっくり 2007/08/28 ソフトウェアインストールのところにmsiファイルをドラッグ&ドロップできるのね。知らなかった。 レジストリの配布をグループポリシーでやるべきか 2007/08/23 スクリプト中でregedit /S "filepath" の方がシンプルで見通しがよく、即効性があるが・・・ 手法 対象 特徴 グループポリシー HKLM ローカル管理者でも変更できない。 グループポリシー HKCU ローカル管理者でも変更できない。 スタートアップスクリプト HKLM ユーザーは変更できない。 ログオンスクリプト HKCU ユーザーが変更できる。 従って、 1.ユーザーが変更してもよいがデフォルト値を配布したい場合は一回だけregedit /s filename *1 2.HKCU対象でユーザーに変更させたくない値はグループポリシー(HKCU) 3.HKLM対象はスタートアップスクリプトでもグループポリシーでもよい。 手間を考えるとスクリプト。ローカル管理者にも変更させたくなければグループポリシー。 MEMO 試してないけど疑問 1.Policyの下ってスクリプトで配布できるんだろか。 2.ローカル管理者ってほんとにPolicyを無効化することできない? 無線環境のPCにグループポリシーでアプリケーションを配布する。 2007/08/20 グループポリシーで設定してみても下記のエラーで失敗している。 「コンピュータ ネットワークためのドメイン コントローラ名を取得できません。(指定されたドメインがないか、またはアクセスできません。 )。グループ ポリシーの処理は中止されました。」 http //support.microsoft.com/kb/840669/ja この記述にしたがってレジストリを修正すると成功した ⇒ 【regファイルダウンロード】 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "GpNetworkStartTimeoutPolicyValue"=dword 0000003c admファイルを使用してレジストリを配布する この辺を参考に http //tod.cocolog-nifty.com/diary/2007/07/active_director_450e.html 例えばユーザーのログイン時にOnlyDetlを実行するレジストリを設定するなら CLASS USER CATEGORY !!CustomRegistry CATEGORY !!PathOfRun KEYNAME "Software\Policies\Microsoft\Windows\CurrentVersion\Run" POLICY !!OnlyDetl_Title EXPLAIN !!OnlyDetl_Explain PART !!OnlyDetl_Path EDITTEXT VALUENAME OnlyDetl MAXLEN 60 END PART END POLICY END CATEGORY END CATEGORY [strings] CustomRegistry="配布レジストリ" PathOfRun="ログイン時に実行するアプリケーション" OnlyDetl_Title="OnlyDetl" OnlyDetl_Explain="OnlyDetlの実行パスを設定します。" OnlyDetl_Path="実行パス " という感じです。 注意事項として、コピペした使ったときに[strings]の後ろにスペースが入っていると、「[strings]セクションに文字列xxxが見つかりません」みたいなエラーで蹴られます。 かならず余分なスペースは除去しましょう。前後も1行空行のほうがよいかも。 ローカルセキュリティポリシーはDefault Domain Controllers Policyでなければ有効にならない? 2007/08/14 できるだけDefault Domain Controllers Policyをいじりたくないので、リモート専用のユーザーを別のGPOで指定してみたが有効にならなかった。 ローカルセキュリティポリシーはDefault Domain Controllers Policyでなければいけないのかもしれない。 ※資料を見つけているわけではないので未確定情報です。もしご存知の方がいれば情報をいただけるとありがたいです。 Acrobat Reader 8.1をmsiファイルで配布する 2007/08/07 いまや Acrobat Reader は必須といってよいと思いますが、msiファイルとしては提供されていません。 しかし内部的にはmsiファイルで構成されており、下記の手順で抽出することができます。 Extract the Adobe Reader 8 msi installer for enterprise deployment Acrobat 8.x/Adobe Reader 8.x をコマンドラインからインストールまたはアンインストールする方法(Windows) 間単に書くとこんな感じです。 1.http //ardownload.adobe.com/pub/adobe/reader/win/8.x/8.1/jpn/AdbeRdr810_ja_JP.exeをダウンロード 2.ダウンロードしたファイルをコマンドラインオプションをつけて実行 AdbeRdr810_ja_JP.exe -nos_ne-nos_ne 3.[C \Documents and Settings\[ユーザー名]\Local Settings\Temp\Adobe Reader 8]に下記ファイルが出力される。 abcpy.ini AcroRead.msi Data1.cab Setup.exe setup.ini 4.AcroRead.msiとData1.cabを同じフォルダにおいて、グループポリシーで配布する。 Flash Player をmsiファイルで配布する 2007/08/08 adobeへの無料登録をするとダウンロードサイトのアドレスを貰えるようです。 http //d.hatena.ne.jp/tkssoft/20070602/p1 コンピュータ名の長さの制限など 2007/07/08 http //technet2.microsoft.com/WindowsServer/ja/library/8ec96981-6b1a-48ec-bd3e-d8d43bc814311041.mspx?mfr=true とりあえずドメイン名まで含めてnvarchar(256)だけど、15文字以内に収めておくのが揉めない。 ADSI関連で物凄く参考になるサイト 2007/07/08 http //blog.livedoor.jp/mokurin/archives/cat_50022192.html スクリプトでOutlook Expressのアカウントを修正する 2007/07/02 契約してるホスティングサービスからメールアカウントのサーバー名を変更してくれと通知。 1台1台やってられないのでスクリプト作ってみた。 Outlook Expressのアカウントって、CurrentUserが使えないのね。SIDまで取らなきゃいけなかった。 グループポリシーでログオンスクリプトに設定して解決。 ログインアカウントのSIDをWMIを使用して取得 Set oWMI = GetObject("winmgmts \\.\root\cimv2") Set WshNetwork = WScript.CreateObject("WScript.Network") Set oAccount = oWMI.Get ("Win32_UserAccount.Name= " WshNetwork.UserName " ,Domain= " WshNetwork.UserDomain " ") strKeyBase = oAccount.SID "\Software\Microsoft\Internet Account Manager\Accounts" SIDに登録されたインターネットアカウントをレジストリから列挙 const HKEY_USERS = H80000003 Set oReg=GetObject("winmgmts {impersonationLevel=impersonate}!\\.\root\default StdRegProv") oReg.EnumKey HKEY_USERS, strKeyBase, arrSubKeys 各アカウントの値をチェックして更新 For Each subkey In arrSubKeys strKeyPath = strKeyBase "\" subkey strValueName = "POP3 Server" oReg.GetStringValue HKEY_USERS, strKeyPath , strValueName, strValue If Not IsNull(strValue) Then If strValue="mail.example.co.jp" Then oReg.SetStringValue HKEY_USERS, strKeyPath , strValueName , "pop.example.co.jp" End IF End If strValueName = "SMTP Server" oReg.GetStringValue HKEY_USERS, strKeyPath , strValueName, strValue If Not IsNull(strValue) Then If strValue="mail.example.co.jp" Then oReg.SetStringValue HKEY_USERS, strKeyPath , strValueName , "smtp.example.co.jp" End IF End If Next ACLからフルコントロールを持つアカウントを削除してしまった場合の対処 2007/06/06 http //support.microsoft.com/kb/308421/ja 管理者アカウントで上位フォルダにて「サブコンテナとオブジェクトの所有者を置き換える」を行うと、アクセス権を変更できるようになる。 もともと所有者に管理者アカウントが表示されていても、これをやるのとやらないので挙動が違います。 検索語:NTFS/消せない/ファイル/継承/読み取り/変更/削除/SYSTEM/Administrators/フォーマット ちゃうねん 2007/05/17 oがないのがレジストリ…… oがあるのがアクティブディレクトリ…… ちょっと時々ごっちゃになるねん わかってるねん わかってるねんで? バカにしたらあかん oがあるのがレジストリ それがごっちゃに…… わかってるねんで!? 正:Registry 誤:Registory 正:Active Directory 誤:Active Directry 信頼関係 2007/05/07 検索語:一方向の信頼関係/外部信頼関係 http //www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28249 forum=6 8 2007/05/15 検索語:セキュリティグループ/グローバル/ドメインローカル/ユニバーサル グループ・アカウントの種類を知る http //www.atmarkit.co.jp/fwin2k/win2ktips/737groups/groups.html Defaul Domain Policyの 復旧 2007/05/16 オペレートミスで[Defaul Domain Policy]を削除してしまうという失態。復旧について調査すると、dcgpofixというコマンドを使えばよいらしい。 http //www.atmarkit.co.jp/fwin2k/win2ktips/625dcgpofix/dcgpofix.html やってみると下記エラーが出て復元に失敗する。 このドメインの Active Directory スキーマ バージョンと、このツールによってサポートされているバージョンが一致しません。GPO は /ignoreschema コマンド ライン パラメータを使用すると復元できます。ただし、このツールの更新バージョンを取得することをお勧めします。このツールの更新バージョンには、Active Directory スキーマの更新バージョンが含まれている可能性があります。間違ったスキーマで GPO を復元すると、予期しない動作が発生する場合があります。 原因は http //support.microsoft.com/kb/932445/ja 『Windows Server 2003 R2-based ドメインで Dcgpofix.exe コマンド ライン ツールを使用すると、エラー メッセージ 「このドメインのスキーマの Active Directory バージョンとこのツールによってサポートされたバージョンが一致しません」』 R2だと出るということ。/ignoreschemaオプションで強行する。 次のドメインの既定のドメイン ポリシーを復元しようとしています。 xxx.yyy.zzz.jp 続行しますか Y/N ? y 警告 この操作を行うと、選択された GPO で行われた ユーザー権利の割り当て がすべて置き換えられます。これにより一部のサーバー アプリケーションでエラーが発生する可能性があります。 続行しますか Y/N ? で[y]を押して実行。 既定のドメイン ポリシーは正しく復元されました 注意 既定のドメイン ポリシーの内容のみが復元されました。このグループ ポリシーオブジェクトへのグループ ポリシー リンクは変更されませんでした。 既定では、既定のドメイン ポリシーはドメインにリンクされています。 ドメインコントローラポリシーだと元にもどらない部分を手動で補正しなければいけないらしい。 http //support.microsoft.com/kb/833783/ja 今回はドメインポリシーなので無関係。 あとはポリシーオブジェクトをドメインにバインドして終了。 変な影響が出なければいいけど。 comment このページの記述で聞きたいこととか間違ってることとかありましたらコメントを。 コンピュータ名の一覧を元にローカルAdministratorのパスワードを変更するスクリプトの4行目、stLogPathではなくstrLogPathではないでしょうか。 -- (shimazoe) 2010-06-08 11 18 19 ご指摘ありがとうございます。たぶんそうだと思うので直しました。コピーミスかな? -- (memo77) 2010-06-08 11 55 04 「XPクライアントに特定のユーザー/グループのみログインを許可する」を私もやっていますが、プリンタなどドライバインストールで失敗します。そんときだけ戻してます。 -- (を) 2010-06-13 20 25 02 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/doima/pages/7.html
null air consigns.nationalist afflictions defaulting zonally Romulus instigators tutorial dived whittled [http //www.housebit.com/21567/ holiday home insurance ] http //www.housebit.com/21567/ sideways partake [http //www.housebit.com/12694/ commercial property insurance ] http //www.housebit.com/12694/ dependently?proceeding Thorstein Vishnu,litigation [http //www.housebit.com/13177/ cumberland county nc flood insurance rate maps citizen property insurance ] http //www.housebit.com/13177/ sacrament Jansenist [http //www.housebit.com/24240/ texas flood insurance ] http //www.housebit.com/24240/ affiliated pseudoinstruction [http //www.housebit.com/12178/ home owner insurance rate ] http //www.housebit.com/12178/ lustful simpleness battling [http //www.housebit.com/00820/ homeowner insurance florida ] http //www.housebit.com/00820/ ethereally betrayer quicksand powerless [http //www.housebit.com/10684/ home beneficial life insurance ] http //www.housebit.com/10684/ predicating lesson pickers [http //www.housebit.com/21314/ manufactured home insurance in florida ] http //www.housebit.com/21314/ correctable parachute plausible escorts![http //www.housebit.com/22918/ house insurance raliegh nc business property insurance ] http //www.housebit.com/22918/ punching buckskin [http //www.housebit.com/09551/ login ] http //www.housebit.com/09551/ fearful failure devote,remodel,[http //www.housebit.com/24682/ tips ] http //www.housebit.com/24682/ swell scissors redcoat geyser.[http //www.housebit.com/17758/ property and casualty insurance school in new york ] http //www.housebit.com/17758/ braves saucers [http //www.housebit.com/17004/ insurance sales from home ] http //www.housebit.com/17004/ hearten Rio!dosed unmarked Palestinian [http //www.housebit.com/00917/ home renters insurance ] http //www.housebit.com/00917/ enacting Alaskan buffering pants,grape [http //www.housebit.com/27850/ halifax home insurance on line homeowner insurance quote] http //www.housebit.com/27850/ gorging amortize [http //www.housebit.com/20130/ home insurance claims ] http //www.housebit.com/20130/ tightest?Pearce [http //www.housebit.com/10625/ homeowners insurance in louisiana florida apartment business insurance] http //www.housebit.com/10625/ interiors multiplicative [http //www.housebit.com/29198/ flood insurance quote ] http //www.housebit.com/29198/ mincemeat bottlenecks restraints sterilizations creepy,[http //www.housebit.com/06656/ major home insurance companies ] http //www.housebit.com/06656/ conviction shuffling nest [http //www.housebit.com/13374/ property insurance for ebay consignments home insurance in florida ] http //www.housebit.com/13374/ wile,defenestrate degradable tiresomeness [http //www.housebit.com/06575/ house insurance abroad homeowners insurance escambia co fl] http //www.housebit.com/06575/ into Scarsdale unhappiest housed grosses![http //www.housebit.com/06705/ ordinances requiring rental property insurance home owner insurance rate quote] http //www.housebit.com/06705/ chopper fled,inroads spikes dislocations.[http //www.housebit.com/27039/ liability insurance for homeowners association ] http //www.housebit.com/27039/ reverently?maniacs.[http //www.housebit.com/13026/ home insurance rate comparison building insurance landlord ] http //www.housebit.com/13026/ defections boar revolutionary retorted,[http //www.housebit.com/11319/ home office of nationold line insurance company homeowners insurance quotes ] http //www.housebit.com/11319/ shortened touchable stables.[http //www.housebit.com/04460/ home and contents insurance ] http //www.housebit.com/04460/ Algonquian!turnings roles Imbrium [http //www.housebit.com/06522/ affordable home insurance ] http //www.housebit.com/06522/ confocal?complicating,apartment peck [http //www.housebit.com/01159/ mitchell insurance largo condo flood insurance quote ] http //www.housebit.com/01159/ tastefully Cornell [http //www.housebit.com/01245/ american modern home insurance company ] http //www.housebit.com/01245/ page?blocking Lausanne [http //www.housebit.com/03647/ property casualty insurance ] http //www.housebit.com/03647/ Westport conquerers Gregg leaves [http //www.housebit.com/03332/ click ] http //www.housebit.com/03332/ mesh fonder?[http //www.housebit.com/09076/ home state county mutual insurance company ] http //www.housebit.com/09076/ sports thresholds forages [http //www.housebit.com/14419/ aarp homeowners insurance quote homeowners liability insurance ] http //www.housebit.com/14419/ wait?presented.[http //www.housebit.com/09204/ california home owner insurance ] http //www.housebit.com/09204/ adjusters fluently bridle saguaro?[http //www.housebit.com/22604/ national flood insurance program ] http //www.housebit.com/22604/ adduce stewardess setup designator.conversion [http //www.housebit.com/24160/ home insurance quote uk ] http //www.housebit.com/24160/ hallucinate cask frequencies [http //www.housebit.com/30041/ home flood insurance liability coverage for home insurance] http //www.housebit.com/30041/ turtles Downing sender.substituting subdued [http //www.housebit.com/04726/ insurance property ] http //www.housebit.com/04726/ bankruptcy photographic hid [http //www.housebit.com/30477/ liability insurance for homeowners association ] http //www.housebit.com/30477/ astonishing approached cisterns [http //www.housebit.com/18525/ second home insurance ] http //www.housebit.com/18525/ antler murky maintenance tasked mentality [http //www.housebit.com/27214/ property insurance claims adjuster ] http //www.housebit.com/27214/ quarrelsome effectuate.drooped [http //www.housebit.com/02505/ home insurance texas ] http //www.housebit.com/02505/ lazed redeeming Colby,[http //www.housebit.com/28989/ aa home insurance all state home owners insurance claims] http //www.housebit.com/28989/ wonder Andre [http //www.housebit.com/19297/ manufacture home insurance ] http //www.housebit.com/19297/ rhythm attorneys subtracting [http //www.housebit.com/24283/ house contents insurance ] http //www.housebit.com/24283/ adherer unharmed strangely [http //www.housebit.com/17796/ mobile home insurance ] http //www.housebit.com/17796/ expedite phenomenology!disentangle![http //www.housebit.com/29229/ low rate florida homeowners insurance ] http //www.housebit.com/29229/ impressively shack [http //www.housebit.com/17544/ renters insurance ] http //www.housebit.com/17544/ Jacksons midway [http //www.housebit.com/29635/ citizens property insurance co ] http //www.housebit.com/29635/ attenuation detacher [http //www.housebit.com/03851/ rental property insurance free quotes on home insurance] http //www.housebit.com/03851/ ...
https://w.atwiki.jp/comodopf/pages/42.html
日本語化についての情報 「Subscription Status Activate Now」が「Subscription Status ファイヤウォール セ」になる問題 378 名無しさん@お腹いっぱい。 [sage] 2010/03/24(水) 08 48 18 ID Be CIS4を日本語の設定にすると、概要にある 「Subscription Status Activate Now」 が 「Subscription Status ファイヤウォール セ」 になてカーソルのせると ファイヤウォール セキュリティー レベルは\b1無効\b0になっています。 これはあなたのコンピュータにおいて送受信ともに すべてのトラフィックを\b1ファイヤーウォール構成設定にかかわらず許可し\b0 事実上ファイヤウォールが無効に てのがでるんだけど、うちのCOMODOどうなってんですか 988 名無しさん@お腹いっぱい。 [sage] 2010/04/06(火) 12 52 42 ID Be 981,982 全然対応できてなくてごめんなさい。 英語のテンプレートファイルを確認しました。 3系と同一のIDに全く別のメッセージが入っているようです。 通常は英語版を全く別のメッセージにした場合、各言語ファイルもComodo側が 英語メッセージに上書きしてくれていたのですが、見落としなのか それがされていなかったようです。 とりあえず個人で直すならcfp.japanese.langファイルの177行目を 以下に書き換えてください。ログオンし直せば反映されます。 string id="175" value="Activate Now" / 上記を参考に修正したもの http //www4.atwiki.jp/comodopf/?cmd=upload act=open page=%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8C%96 file=cfp.japanese.lang_988 ローカライズツールやテンプレートなど(フォーラムから引用) Tools list Comodo Tools - COMODO MultiLanguagePack 1.1 Text Editor - Notepad++ Compare Files - WinMerge 詳しくは↓へ。 http //forums.comodo.com/beta-corner-cis/comodo-cis-40x-localizations-t51090.0.html (要ログイン) 現時点で最新のテンプレート(トピックのトップページのファイルは最新じゃない) CIS4 Templates 2010_04_15.7z http //forums.comodo.com/beta-corner-cis/comodo-cis-40x-localizations-t51090.0.html;msg389160#msg389160 CIS4_templates_2010_04_07.7z http //forums.comodo.com/beta-corner-cis/comodo-cis-40x-localizations-t51090.0.html;msg386481#msg386481 CIS4_update_2010_04_02.zip https //forums.comodo.com/beta-corner-cis/comodo-cis-40x-localizations-t51090.0.html;msg385205#msg385205
https://w.atwiki.jp/yurina0106/pages/4292.html
タグ 2009年 ETERNAL 作品名N Nega0(ネガゼロ) 初回限定版 曲名 歌手名 作詞 作曲 ジャンル カラオケ OP ネガティブゼロ・パラダイス 有栖川みや美 砂守岳央 四十万行道 電波 OP Blue flame 有栖川みや美 砂守岳央 四十万行道 かっこいい ED Sweet Machine 安芸らら 砂守岳央 四十万行道 電波 ED みもざのはな さくらはづき 浦沢環 四十万行道 感動
https://w.atwiki.jp/0x0b/pages/69.html
実行コンテキスト 制御が ECMAScript の実行可能コードに転送される時に、制御は 実行コンテキスト に入る。アクティブな実行コンテキストは論理的にスタックを形成する。この論理的スタック上の実行コンテキストの頂点が、実行される実行コンテキストである。 定義 Function オブジェクト (Function Objects) Function オブジェクトには 2 種類ある プログラム関数 は、ソーステキスト内に FunctionDeclaration で定義される。あるいは、 FunctionExpression かコンストラクタとしての組込み Function オブジェクトを使用して動的に生成される。 内部関数 は、 parseInt や Math.exp のような、言語の組込みオブジェクトである。実装は、本仕様に記述されない実装依存の内部関数を提供してもよい。これらの関数は ECMAScript 文法に記述される実行可能コードを含まない。従ってそれらは実行コンテキストのこの議論から除外される。 実行可能コードの種類 ECMAScript の実行可能コードの種類は 3 つある グローバルコード は ECMAScript の Program として扱われるソーステキストである。個々の Program のグローバルコードは FunctionBody 部分として解析されるソーステキストを含まない。 eval コード は組込み eval 関数に提供されるソーステキストである。より正確には、組込み eval 関数のパラメータが文字列なら、それは ECMAScript の Program として扱われる。個々の eval 呼び出しのための eval コードは、文字列パラメータのグローバルコード部分である。 関数コード は FunctionBody 部分として解析されるソーステキストである。個々の FunctionBody の関数コードは、ネストされた FunctionBody 部分として解析されるソーステキストを含まない。関数コードはまた、コンストラクタとして組込み Function オブジェクトを使用する際提供されるソーステキストもあらわす。より正確には、 Function コンストラクタに提供される最後のパラメータは文字列に変換され FunctionBody として扱われる。 Function コンストラクタにひとつ以上のパラメータが供給されれば、最後の一つを除いた残りのパラメータすべてが文字列に変換され、カンマを区切りに連結される。その結果の文字列は最後のパラメータで定義される FunctionBody のための FormalParameterList として解釈される。 Function の個々のインスタンス化のための関数コードはネストされた FunctionBody 部分として解析されるソーステキストを含まない。 変数の実体化 各実行コンテキストは 変数オブジェクト (variable object) に結び付けられている。ソーステキスト内に宣言された変数と関数は変数オブジェクトのプロパティに追加される。関数コードについては、パラメータが変数オブジェクトのプロパティに追加される。 どのオブジェクトが変数オブジェクトに使われるか、どの属性がプロパティに使われるかは、コードの型に依存する。しかし、後の振る舞いは総括的である。実行コンテキストに入ると、プロパティは次の順に変数オブジェクトに結び付けられる 関数コードでは FormalParameterList で定義された仮引数ごとに、変数オブジェクトにプロパティを生成する。その名前は Identifier で、属性はコード型によって決定する。パラメータ値は呼出側によって Call の引数として供給される。呼出側が仮引数より少ないパラメータ値を供給するならば、余分な仮引数は値 undefined を持つ。 2 つ以上の仮引数が同じ名前のために同じプロパティを共有する場合、該当するプロパティは、後出のパラメータに供給された値を与えられる。この後出のパラメータ値が呼出側から供給されない場合、該当するプロパティの値は undefined である。 ソーステキスト順で、コード中の各 FunctionDeclaration 毎に、変数オブジェクトにプロパティを生成する。その名前は FunctionDeclaration の Identifier で、値にはセクション 13 に記述される Function オブジェクトの生成で返される結果が設定され、属性はコードの型によって決定する。変数オブジェクトが既にこの名前のプロパティを持っている場合、その値と属性を置換する。意味論的に、このステップは FormalParameterList プロパティの生成に続かなければならない。 コード中の各 VariableDeclaration あるいは VariableDeclarationNoIn 毎に、変数オブジェクトにプロパティを生成する。その名前は VariableDeclaration または VariableDeclarationNoIn 中の Identifier で、値は undefined 、属性はコードの型により決定する。変数オブジェクトが既にこの名前のプロパティを持っている場合、プロパティの値と属性は変更されない。意味論的に、このステップは FormalParameterList と FunctionDeclaration のプロパティ生成に続かなければならない。宣言される変数が、宣言された関数や仮引数と同じ名前を持っている場合、変数宣言は特に既存のプロパティを妨害しない。 スコープ連鎖と識別子の解決 各実行コンテキストは スコープ連鎖 (scope chain) に関連付けられている。スコープ連鎖はオブジェクトのリストで、Identifier の評価の際に検索される。制御が実行コンテキストに入るとき、コード型毎にオブジェクト集合の初期値を伴うスコープ連鎖が生成され、組み込まれる。実行コンテキスト内における実行の間、実行コンテキストのスコープ連鎖は with 文(文 with文)と catch クローズ(文 try文)によってのみ影響を及ぼされる。 実行中、構文的生成規則 PrimaryExpression Identifier は次のアルゴリズムで評価される スコープ連鎖内で次のオブジェクトを取得する。一つもなければ、ステップ 5ヘ。 Result(1) の HasProperty メソッドを呼び、プロパティとして Identifier を渡す。 Result(2) が true ならば、基準オブジェクトが Result(1) でプロパティ名が Identifier である Reference 型の値を返す。 ステップ 1 へ。 基準オブジェクトが null でプロパティ名が Identifier である Reference 型の値を返す。 識別子評価の結果は常に、識別子文字列と等しいメンバ名成分を持つ Reference 型の値である。 Global オブジェクト (Global Object) 制御が任意の実行コンテキストに入る前に生成される、一意的な グローバルオブジェクト(Globalオブジェクト) が存在する。最初はグローバルオブジェクトは次のプロパティを持つ Math, String, Date, parseInt 等のような組込みオブジェクト。これらは属性 { DontEnum } を持つ。 ホストの定義する追加プロパティ。これはグローバルオブジェクト自身を値とするプロパティを含めてよい; たとえば、HTML 文書オブジェクトモデルにおけるグローバルオブジェクトの window プロパティは、グローバルオブジェクトそれ自身である。 制御が実行コンテキストに入り、ECMAScript コードが実行されれば、グローバルオブジェクトに追加プロパティを追加しても、初期のプロパティを変更してもよい。 Activation オブジェクト (Activation Object) 関数コードによって制御が実行コンテキストに入るとき、 Activation オブジェクトと呼ばれるオブジェクトが生成され実行コンテキストに結び付けられる。 Activation オブジェクトは属性 { DontDelete } のプロパティ arguments で初期化される。このプロパティの初期値は下に述べる arguments オブジェクトである。 Activation オブジェクトは変数の実体化を目的とした変数オブジェクトとして使用される。 Activation オブジェクトは純粋に仕様のメカニズムである。 Activation オブジェクトへのアクセスは ECMAScript プログラムには不可能である。 Activation オブジェクトのメンバへのアクセスは可能だが、 Activation オブジェクト自身へのアクセスはできない。基準オブジェクトが Activation オブジェクトである Reference 値に呼出操作が適用されるとき、その呼出の this 値として null が使われる。 this アクティブな実行コンテキストそれぞれに結び付けられる this 値がある。this 値は呼出側と実行されるコード型に依存し、制御が実行コンテキストに入るときに決定される。実行コンテキストに結び付けられる this 値は不変である。 arguments オブジェクト (Arguments Object) 関数コードによって制御が実行コンテキストに入るとき、 arguments オブジェクトが作成され次のように初期化される argument オブジェクトの内部 Prototype プロパティの値は、オリジナルの Object prototype オブジェクトで、 Object.prototype (セクション15.2.3.1) の初期値である。 属性 { DontEnum } のプロパティ callee を作成する。このプロパティの初期値は実行されている Function オブジェクトである。これは再帰する匿名ファンクションを許す。 属性 { DontEnum } のプロパティ length を作成する。このプロパティの初期値は呼出側から供給された実際のパラメータの数である。 0 以上 length プロパティの値未満の整数 arg それぞれについて、属性 { DontEnum } のプロパティ ToString(arg) が作成される。このプロパティの初期値は対応するパラメータの呼出側に供給される実際の値である。最初の実際のパラメータ値が arg = 0、2 番目は arg = 1, 以下同様である。arg が Function オブジェクトの仮引数の数より小さい場合、このプロパティは Activation オブジェクトの対応するプロパティとその値を共有する。このことは、このプロパティの変更が Activation オブジェクトの対応するプロパティを変更すること、そしてその逆を意味する。 実行コンテキストの開始 各関数とコンストラクタの呼出は、新しい実行コンテキストを開始する。関数がそれ自身の再帰的呼出であっても、各リターンは実行コンテキストを終了する。投げられた例外が受け取られない場合は、一つ以上の実行コンテキストを終了してよい。 制御が実行コンテキストを開始するとき、スコープ連鎖が生成・初期化され、変数の実体化が行われ、this 値が決定される。 スコープ連鎖の実体化、変数の実体化、this 値の決定は、開始するコード型に依存する。 グローバルコード (Global Code) スコープ連鎖が作成され、グローバルオブジェクトのみの構成で初期化される。 変数の実体化が行われ、変数オブジェクトにグローバルオブジェクト、プロパティ属性 { DontDelete } が用いられる。 this 値はグローバルオブジェクトである。 Eval コード (Eval Code) 制御が eval コードの実行コンテキストを開始するとき、前のアクティブな実行コンテキストは、 呼出コンテキスト として参照され、スコープ連鎖、変数オブジェクト、 this 値の決定に使用される。呼出コンテキストがなければ、スコープ連鎖、変数の実体化、this 値の決定の初期化は、グローバルコードとして行われる。 スコープ連鎖が初期化され、呼出コンテキストのスコープ連鎖と同じオブジェクト、同じ順序になるように構成される。これは with 宣言および catch クローズによって呼出コンテキストのスコープ連鎖に追加されるオブジェクトを含む。 変数の実体化が行われ、呼出コンテキストの変数オブジェクト、プロパティ属性 { } が用られる。 this 値は呼出コンテキストの this 値と同じである。 関数コード (Function Code) スコープ連鎖が初期化され、 Activation オブジェクトに Function オブジェクトの Scope プロパティに蓄積されたスコープ連鎖内のオブジェクトが続くように構成される。 変数の実体化が行われ、変数オブジェクトに Activation オブジェクト、プロパティ属性 { DontDelete } が用いられる。 this 値は呼出側が提供する。呼出側が提供する this 値がオブジェクトでない場合(null である場合を含む)、 this 値はグローバルオブジェクトとする。
https://w.atwiki.jp/sevenlives/pages/1865.html
Activationオブジェクト 読み:あくてぃべーしょん おぶじぇくと 英語:activation object 別名:callオブジェクト 意味: Activationオブジェクトとは、JavaScriptの関数が実行されるたびに生成されるオブジェクトのこと。 その関数内の引数や変数、関数といった情報を持っています。 ECMAScriptの仕様では、Activationオブジェクトは内部的に生成されるものであり、直接アクセスできるものではありません。 2012年05月08日 Environment Record? グローバル・オブジェクト スコープ・チェーン argumentsプロパティ this(JavaScript)? 関数(JavaScript) JavaScript ECMAScript
https://w.atwiki.jp/fft_cheat/pages/92.html
BATTLE.BIN127D50~14F8E0 オフセット +19ED50h 14C37CからEFFECTフォルダ内のファイル情報 1ファイルにつき8バイト使用、内訳は 4バイト、読込開始ブロック 4バイト、読込サイズ(2048バイト単位) ※どちらもリトルエンディアン値 数値それぞれがeffectフォルダのファイルに 対応している 詳しくはEFFECTフォルダEFFECTフォルダ 名前 コメント
https://w.atwiki.jp/0x0b/pages/54.html
A 文法要約 (Grammar Summary) A.1 字句文法 (Lexical Grammar) SourceCharacter セクション 6 参照 任意のUnicode文字 InputElementDiv セクション 6 参照 WhiteSpace LineTerminator Comment Token DivPunctuator InputElementRegExp セクション 6 参照 WhiteSpace LineTerminator Comment Token RegularExpressionLiteral WhiteSpace セクション 7.2 参照 TAB VT FF SP NBSP USP LineTerminator セクション 7.3 参照 LF CR LS PS Comment セクション 7.4 参照 MultiLineComment SingleLineComment MultiLineComment セクション 7.4 参照 /* MultiLineCommentCharsopt */ MultiLineCommentChars セクション 7.4 参照 MultiLineNotAsteriskChar MultiLineCommentCharsopt PostAsteriskCommentCharsopt PostAsteriskCommentChars セクション 7.4 参照 MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt PostAsteriskCommentCharsopt MultiLineNotAsteriskChar セクション 7.4 参照 アス^リスク * を除く SourceCharacter MultiLineNotForwardSlashOrAsteriskChar セクション 7.4 参照 前方のスラッシュ / またはアス^リスク * を除く SourceCharacter SingleLineComment セクション 7.4 参照 SingleLineCommentChars セクション 7.4 参照 SingleLineCommentChar SingleLineCommentCharsopt SingleLineCommentChar セクション 7.4 参照 LineTerminator を除く SourceCharacter Token セクション 7.5 参照 ReservedWord Identifier Punctuator NumericLiteral StringLiteral ReservedWord セクション 7.5.1 参照 Keyword FutureReservedWord NullLiteral BooleanLiteral Keyword one ofセクション 7.5.2 参照 break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with FutureReservedWord one ofセクション 7.5.3 参照 abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile Identifier セクション 7.6 参照 ReservedWord を除く IdentifierName IdentifierName セクション 7.6 参照 IdentifierStart IdentifierName IdentifierPart IdentifierStart セクション 7.6 参照 UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart セクション 7.6 参照 IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequence UnicodeLetterセクション 7.6 参照 Unicode カテゴリ "Uppercase letter (Lu)", "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter (Lm)", "Other letter (Lo)", "Letter number (Nl)" 内の任意の文字 UnicodeCombiningMarkセクション 7.6 参照 Unicode カテゴリ "Non-spacing mark (Mn)" or "Combining spacing mark (Mc)" 内の任意の文字 UnicodeDigitセクション 7.6 参照 Unicode カテゴリ "Decimal number (Nd)" 内の任意の文字 UnicodeConnectorPunctuationセクション 7.6 参照 Unicode カテゴリ "Connector punctuation (Pc)" 内の任意の文字 UnicodeEscapeSequence セクション 7.6 参照 \u HexDigit HexDigit HexDigit HexDigit HexDigit one ofセクション 7.6 参照 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F Punctuator one ofセクション 7.7 参照 { } ( ) [ ] . ; , = = == != === !== + - * % ++ -- | ^ ! ~ || ? = += -= *= %= = = = = |= ^= { } ( ) [ ] DivPunctuator one ofセクション 7.7 参照 / /= Literal セクション 7.8 参照 NullLiteral BooleanLiteral NumericLiteral StringLiteral NullLiteral セクション 7.8.1 参照 null BooleanLiteral セクション 7.8.2 参照 true false NumericLiteral セクション 7.8.3 参照 DecimalLiteral HexIntegerLiteral DecimalLiteral セクション 7.8.3 参照 DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt . DecimalDigits ExponentPartopt DecimalIntegerLiteral ExponentPartopt DecimalIntegerLiteral セクション 7.8.3 参照 0 NonZeroDigit DecimalDigitsopt DecimalDigits セクション 7.8.3 参照 DecimalDigit DecimalDigits DecimalDigit DecimalDigit one ofセクション 7.8.3 参照 0 1 2 3 4 5 6 7 8 9 ExponentIndicator one ofセクション 7.8.3 参照 e E SignedInteger セクション 7.8.3 参照 DecimalDigits DecimalDigits DecimalDigits HexIntegerLiteral セクション 7.8.3 参照 0x HexDigit 0X HexDigit HexIntegerLiteral HexDigit StringLiteral セクション 7.8.4 参照 " DoubleStringCharactersopt " SingleStringCharactersopt DoubleStringCharacters セクション 7.8.4 参照 DoubleStringCharacter DoubleStringCharactersopt SingleStringCharacters セクション 7.8.4 参照 SingleStringCharacter SingleStringCharactersopt DoubleStringCharacter セクション 7.8.4 参照 二重引用符 " とバックスラッシュ \ と LineTerminator を除く SourceCharacter \ EscapeSequence SingleStringCharacter セクション 7.8.4 参照 単引用符 とバックスラッシュ \ と LineTerminator を除く SourceCharacter \ EscapeSequence EscapeSequence セクション 7.8.4 参照 CharacterEscapeSequence 0 [lookahead ∉ DecimalDigit] HexEscapeSequence UnicodeEscapeSequence CharacterEscapeSequence セクション 7.8.4 参照 SingleEscapeCharacter NonEscapeCharacter SingleEscapeCharacter one ofセクション 7.8.4 参照 " \ b f n r t v EscapeCharacter セクション 7.8.4 参照 SingleEscapeCharacter DecimalDigit x u HexEscapeSequence セクション 7.8.4 参照 x HexDigit HexDigit UnicodeEscapeSequence セクション 7.8.4 参照 u HexDigit HexDigit HexDigit HexDigit RegularExpressionLiteral セクション 7.8.5 参照 / RegularExpressionBody / RegularExpressionFlags RegularExpressionBody セクション 7.8.5 参照 RegularExpressionFirstChar RegularExpressionChars RegularExpressionChars セクション 7.8.5 参照 [empty] RegularExpressionChars RegularExpressionChar RegularExpressionFirstChar セクション 7.8.5 参照 と \ と / を除く NonTerminator BackslashSequence RegularExpressionChar セクション 7.8.5 参照 \ または / を除く NonTerminator BackslashSequence BackslashSequence セクション 7.8.5 参照 \ NonTerminator NonTerminator セクション 7.8.5 参照 LineTerminator を除く SourceCharacter RegularExpressionFlags セクション 7.8.5 参照 [empty] RegularExpressionFlags IdentifierPart A.2 数について (Number Conversions) StringNumericLiteral セクション 9.3.1 参照 StrWhiteSpaceopt StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt StrWhiteSpace セクション 9.3.1 参照 StrWhiteSpaceChar StrWhiteSpaceopt StrWhiteSpaceChar セクション 9.3.1 参照 TAB SP NBSP FF VT CR LF LS PS USP StrNumericLiteral セクション 9.3.1 参照 StrDecimalLiteral HexIntegerLiteral StrDecimalLiteral セクション 9.3.1 参照 StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral セクション 9.3.1 参照 Infinity DecimalDigits . DecimalDigitsopt ExponentPartopt . DecimalDigits ExponentPartopt DecimalDigits ExponentPartopt DecimalDigits セクション 9.3.1 参照 DecimalDigit DecimalDigits DecimalDigit DecimalDigit one ofセクション 9.3.1 参照 0 1 2 3 4 5 6 7 8 9 ExponentPart セクション 9.3.1 参照 ExponentIndicator SignedInteger ExponentIndicator one ofセクション 9.3.1 参照 e E SignedInteger セクション 9.3.1 参照 DecimalDigits DecimalDigits DecimalDigits HexIntegerLiteral セクション 9.3.1 参照 0x HexDigit 0X HexDigit HexIntegerLiteral HexDigit HexDigit one ofセクション 9.3.1 参照 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F A.3 式 (Expressions) PrimaryExpression セクション 11.1 参照 this Identifier Literal ArrayLiteral ObjectLiteral ( Expression ) ArrayLiteral セクション 11.1.4 参照 [ Elisionopt ] [ ElementList ] [ ElementList , Elisionopt ] ElementList セクション 11.1.4 参照 Elisionopt AssignmentExpression ElementList , Elisionopt AssignmentExpression Elision セクション 11.1.4 参照 , Elision , ObjectLiteral セクション 11.1.5 参照 { } { PropertyNameAndValueList } PropertyNameAndValueList セクション 11.1.5 参照 PropertyName AssignmentExpression PropertyNameAndValueList , PropertyName AssignmentExpression PropertyName セクション 11.1.5 参照 Identifier StringLiteral NumericLiteral MemberExpression セクション 11.2 参照 PrimaryExpression FunctionExpression MemberExpression [ Expression ] MemberExpression . Identifier new MemberExpression Arguments NewExpression セクション 11.2 参照 MemberExpression new NewExpression CallExpression セクション 11.2 参照 MemberExpression Arguments CallExpression Arguments CallExpression [ Expression ] CallExpression . Identifier Arguments セクション 11.2 参照 ( ) ( ArgumentList ) ArgumentList セクション 11.2 参照 AssignmentExpression ArgumentList , AssignmentExpression LeftHandSideExpression セクション 11.2 参照 NewExpression CallExpression PostfixExpression セクション 11.3 参照 LeftHandSideExpression LeftHandSideExpression [LineTerminator 無し] ++ LeftHandSideExpression [LineTerminator 無し] -- UnaryExpression セクション 11.4 参照 PostfixExpression delete UnaryExpression void UnaryExpression typeof UnaryExpression UnaryExpression UnaryExpression UnaryExpression UnaryExpression ~ UnaryExpression ! UnaryExpression MultiplicativeExpression セクション 11.5 参照 UnaryExpression MultiplicativeExpression * UnaryExpression MultiplicativeExpression / UnaryExpression MultiplicativeExpression % UnaryExpression AdditiveExpression セクション 11.6 参照 MultiplicativeExpression AdditiveExpression + MultiplicativeExpression AdditiveExpression - MultiplicativeExpression ShiftExpression セクション 11.7 参照 AdditiveExpression ShiftExpression AdditiveExpression ShiftExpression AdditiveExpression ShiftExpression AdditiveExpression RelationalExpression セクション 11.8 参照 ShiftExpression RelationalExpression ShiftExpression RelationalExpression ShiftExpression RelationalExpression = ShiftExpression RelationalExpression = ShiftExpression RelationalExpression instanceof ShiftExpression RelationalExpression in ShiftExpression RelationalExpressionNoIn セクション 11.8 参照 ShiftExpression RelationalExpressionNoIn ShiftExpression RelationalExpressionNoIn ShiftExpression RelationalExpressionNoIn = ShiftExpression RelationalExpressionNoIn = ShiftExpression RelationalExpressionNoIn instanceof ShiftExpression EqualityExpression セクション 11.9 参照 RelationalExpression EqualityExpression == RelationalExpression EqualityExpression != RelationalExpression EqualityExpression === RelationalExpression EqualityExpression !== RelationalExpression EqualityExpressionNoIn セクション 11.9 参照 RelationalExpressionNoIn EqualityExpressionNoIn == RelationalExpressionNoIn EqualityExpressionNoIn != RelationalExpressionNoIn EqualityExpressionNoIn === RelationalExpressionNoIn EqualityExpressionNoIn !== RelationalExpressionNoIn BitwiseANDExpression セクション 11.10 参照 EqualityExpression BitwiseANDExpression EqualityExpression BitwiseANDExpressionNoIn セクション 11.10 参照 EqualityExpressionNoIn BitwiseANDExpressionNoIn EqualityExpressionNoIn BitwiseXORExpression セクション 11.10 参照 BitwiseANDExpression BitwiseXORExpression ^ BitwiseANDExpression BitwiseXORExpressionNoIn セクション 11.10 参照 BitwiseANDExpressionNoIn BitwiseXORExpressionNoIn ^ BitwiseANDExpressionNoIn BitwiseORExpression セクション 11.10 参照 BitwiseXORExpression BitwiseORExpression | BitwiseXORExpression BitwiseORExpressionNoIn セクション 11.10 参照 BitwiseXORExpressionNoIn BitwiseORExpressionNoIn | BitwiseXORExpressionNoIn LogicalANDExpression セクション 11.11 参照 BitwiseORExpression LogicalANDExpression BitwiseORExpression LogicalANDExpressionNoIn セクション 11.11 参照 BitwiseORExpressionNoIn LogicalANDExpressionNoIn BitwiseORExpressionNoIn LogicalORExpression セクション 11.11 参照 LogicalANDExpression LogicalORExpression || LogicalANDExpression LogicalORExpressionNoIn セクション 11.11 参照 LogicalANDExpressionNoIn LogicalORExpressionNoIn || LogicalANDExpressionNoIn ConditionalExpression セクション 11.12 参照 LogicalORExpression LogicalORExpression ? AssignmentExpression AssignmentExpression ConditionalExpressionNoIn セクション 11.12 参照 LogicalORExpressionNoIn LogicalORExpressionNoIn ? AssignmentExpressionNoIn AssignmentExpressionNoIn AssignmentExpression セクション 11.13 参照 ConditionalExpression LeftHandSideExpression AssignmentOperator AssignmentExpression AssignmentExpressionNoIn セクション 11.13 参照 ConditionalExpressionNoIn LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn AssignmentOperator one ofセクション 11.13 参照 = *= /= %= += -= = = = = ^= |= Expression セクション 11.14 参照 AssignmentExpression Expression , AssignmentExpression ExpressionNoIn セクション 11.14 参照 AssignmentExpressionNoIn ExpressionNoIn , AssignmentExpressionNoIn A.4 文 (Statements) Statement セクション 12 参照 Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement Block セクション 12.1 参照 { StatementListopt } StatementList セクション 12.1 参照 Statement StatementList Statement VariableStatement セクション 12.2 参照 var VariableDeclarationList ; VariableDeclarationList セクション 12.2 参照 VariableDeclaration VariableDeclarationList , VariableDeclaration VariableDeclarationListNoIn セクション 12.2 参照 VariableDeclarationNoIn VariableDeclarationListNoIn , VariableDeclarationNoIn VariableDeclaration セクション 12.2 参照 Identifier Initialiseropt VariableDeclarationNoIn セクション 12.2 参照 Identifier InitialiserNoInopt Initialiser セクション 12.2 参照 = AssignmentExpression InitialiserNoIn セクション 12.2 参照 = AssignmentExpressionNoIn EmptyStatement セクション 12.3 参照 ; ExpressionStatement セクション 12.4 参照 [lookahead ∉ {{, function} ] Expression ; IfStatement セクション 12.5 参照 if ( Expression ) Statement else Statement if ( Expression ) Statement IterationStatement セクション 12.6 参照 do Statement while ( Expression ); while ( Expression ) Statement for (ExpressionNoInopt; Expressionopt ; Expressionopt ) Statement for ( var VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statement for ( LeftHandSideExpression in Expression ) Statement for ( var VariableDeclarationNoIn in Expression ) Statement ContinueStatement セクション 12.7 参照 continue [LineTerminator 無し] Identifieropt ; BreakStatement セクション 12.8 参照 break [LineTerminator 無し] Identifieropt ; ReturnStatement セクション 12.9 参照 return [LineTerminator 無し] Expressionopt ; WithStatement セクション 12.10 参照 with ( Expression ) Statement SwitchStatement セクション 12.11 参照 switch ( Expression ) CaseBlock CaseBlock セクション 12.11 参照 { CaseClausesopt } { CaseClausesopt DefaultClause CaseClausesopt } CaseClauses セクション 12.11 参照 CaseClause CaseClauses CaseClause CaseClause セクション 12.11 参照 case Expression StatementListopt DefaultClause セクション 12.11 参照 default StatementListopt LabelledStatement セクション 12.12 参照 Identifier Statement ThrowStatement セクション 12.13 参照 throw [LineTerminator 無し] Expression ; TryStatement セクション 12.14 参照 try Block Catch try Block Finally try Block Catch Finally Catch セクション 12.14 参照 catch ( Identifier ) Block Finally セクション 12.14 参照 finally Block A.5 関数およびプログラム (Functions and Programs) FunctionDeclaration セクション 13 参照 function Identifier ( FormalParameterListopt ) { FunctionBody } FunctionExpression セクション 13 参照 function Identifieropt ( FormalParameterListopt ) { FunctionBody } FormalParameterList セクション 13 参照 Identifier FormalParameterList , Identifier FunctionBody セクション 13 参照 SourceElements Program セクション 14 参照 SourceElements SourceElements セクション 14 参照 SourceElement SourceElements SourceElement SourceElement セクション 14 参照 Statement FunctionDeclaration A.6 URI 文字クラス (Universal Resource Identifier Character Classes) uri セクション 15.1.3 参照 uriCharactersopt uriCharacters セクション 15.1.3 参照 uriCharacter uriCharactersopt uriCharacter セクション 15.1.3 参照 uriReserved uriUnescaped uriEscaped uriReserved one ofセクション 15.1.3 参照 ; / ? @ = + $ , uriUnescaped セクション 15.1.3 参照 uriAlpha DecimalDigit uriMark uriEscaped セクション 15.1.3 参照 % HexDigit HexDigit uriAlpha one ofセクション 15.1.3 参照 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z uriMark one ofセクション 15.1.3 参照 _ . ! ~ * ( ) A.7 正規表現 (Regular Expressions) Pattern セクション 15.10.1 参照 Disjunction Disjunction セクション 15.10.1 参照 Alternative Alternative | Disjunction Alternative セクション 15.10.1 参照 [empty] Alternative Term Term セクション 15.10.1 参照 Assertion Atom Atom Quantifier Assertion セクション 15.10.1 参照 ^ $ \ b \ B Quantifier セクション 15.10.1 参照 QuantifierPrefix QuantifierPrefix ? QuantifierPrefix セクション 15.10.1 参照 * ? { DecimalDigits } { DecimalDigits , } { DecimalDigits , DecimalDigits } Atom セクション 15.10.1 参照 PatternCharacter . \ AtomEscape CharacterClass ( Disjunction ) ( ? Disjunction ) ( ? = Disjunction ) ( ? ! Disjunction ) PatternCharacter SourceCharacter but not any of セクション 15.10.1 参照 ^ $ \ . * + ? ( ) [ ] { } | AtomEscape セクション 15.10.1 参照 DecimalEscape CharacterEscape CharacterClassEscape CharacterEscape セクション 15.10.1 参照 ControlEscape c ControlLetter HexEscapeSequence UnicodeEscapeSequence IdentityEscape ControlEscape one ofセクション 15.10.1 参照 f n r t v ControlLetter one ofセクション 15.10.1 参照 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z IdentityEscape セクション 15.10.1 参照 SourceCharacter but not IdentifierPart DecimalEscape セクション 15.10.1 参照 DecimalIntegerLiteral [lookahead ∉ DecimalDigit] CharacterClass セクション 15.10.1 参照 [ [lookahead ∉ {^} ] ClassRanges ] [ ^ ClassRanges ] ClassRanges セクション 15.10.1 参照 [empty] NonemptyClassRanges NonemptyClassRanges セクション 15.10.1 参照 ClassAtom ClassAtom NonemptyClassRangesNoDash ClassAtom - ClassAtom ClassRanges NonemptyClassRangesNoDash セクション 15.10.1 参照 ClassAtom ClassAtomNoDash NonemptyClassRangesNoDash ClassAtomNoDash - ClassAtom ClassRanges ClassAtom セクション 15.10.1 参照 ClassAtomNoDash ClassAtomNoDash セクション 15.10.1 参照 SourceCharacter but not one of \ ] - \ ClassEscape ClassEscape セクション 15.10.1 参照 DecimalEscape b CharacterEscape CharacterClassEscapeB 互換性 (Compatibility) B.1 追加構文 (Additional Syntax) 過去の版の ECMAScript は、 8 進数リテラルと 8 進数エスケープシーケンスを規定する追加の構文と意味論を含んでいた。それらはこの版の ECMAScript からは取り除かれている。この非公式の補遺は、古い ECMAScript プログラムとの互換性のための 8 進数リテラルと 8 進数エスケープシーケンスの統一構文及び意味論を提示する。 B.1.1 数値リテラル (Numeric Literals) セクション 7.8.3 の構文及び意味論を次のように拡張できる Syntax NumericLiteral DecimalLiteral HexIntegerLiteral OctalIntegerLiteral OctalIntegerLiteral 0 OctalDigit OctalIntegerLiteral OctalDigit Semantics NumericLiteral OctalIntegerLiteral の数学値は OctalIntegerLiteral の数学値である。 OctalDigit 0 の数学値は 0 である。 OctalDigit 1 の数学値は 1 である。 OctalDigit 2 の数学値は 2 である。 OctalDigit 3 の数学値は 3 である。 OctalDigit 4 の数学値は 4 である。 OctalDigit 5 の数学値は 5 である。 OctalDigit 6 の数学値は 6 である。 OctalDigit 7 の数学値は 7 である。 OctalIntegerLiteral 0 OctalDigit の数学値は OctalDigit の数学値である。 OctalIntegerLiteral OctalIntegerLiteral OctalDigit の数学値は (OctalIntegerLiteral × 8 の数学値) + OctalDigit の数学値である。 B.1.2 文字列リテラル セクション 7.8.4 の構文及び意味論を次のように拡張できる Syntax EscapeSequence CharacterEscapeSequence OctalEscapeSequence HexEscapeSequence UnicodeEscapeSequence OctalEscapeSequence OctalDigit [lookahead ∉ DecimalDigit] ZeroToThree OctalDigit [lookahead ∉ DecimalDigit] FourToSeven OctalDigit ZeroToThree OctalDigit OctalDigit ZeroToThree one of 0 1 2 3 FourToSeven one of 4 5 6 7 Semantics EscapeSequence OctalEscapeSequence の文字値は、 OctalEscapeSequence の文字値である。 OctalEscapeSequence OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が OctalDigit の数学値である文字である。 OctalEscapeSequence ZeroToThree OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が (8 × ZeroToThree の数学値) + OctalDigit の数学値 である文字である。 OctalEscapeSequence FourToSeven OctalDigit の文字値は、コードポイント値が (8 × FourToSeven の数学値) + OctalDigit の数学値 である文字である。 OctalEscapeSequence ZeroToThree OctalDigit OctalDigit の文字値は、コードポイント値が (64 (すなわち 82) × ZeroToThree の数学値) + (8 × 1 個目の OctalDigit の数学値) + 2 個目の OctalDigit の数学値 である文字である。 ZeroToThree 0 の数学値は 0 である。 ZeroToThree 1 の数学値は 1 である。 ZeroToThree 2 の数学値は 2 である。 ZeroToThree 3 の数学値は 3 である。 FourToSeven 4 の数学値は 4 である。 FourToSeven 5 の数学値は 5 である。 FourToSeven 6 の数学値は 6 である。 FourToSeven 7 の数学値は 7 である。 B.2 追加プロパティ (Additional Properties) ECMAScript 実装には標準ネイティブオブジェクトにいくつかの追加プロパティを持つものがある。この非公式の補遺は、そのようなプロパティのために本標準にプロパティまたその意味論作成はせずに、統一形式の意味論を示唆する。 B.2.1 escape (string) escape 関数はグローバルオブジェクトのプロパティである。これは、ある文字を16進数のエスケープシーケンスに置換した新たな文字列を算出する。 置き換えられる文字のコードポイント値が 0xFF 以下である場合、 %xx 形式の 2 桁のエスケープシーケンスが用いられる。置き換えられる文字のコードポイント値が 0xFF を超える場合、 %uxxxx 形式の 4 桁のエスケープシーケンスが用いられる。 escape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる ToString(string) を呼び出す。 Result(1) 内の文字数を算出する。 R を空文字列とする。 k を 0 とする。 k が Result(2) と等しいならば R を返す。 Result(1) 内部の位置 k の文字 (16ビット符号なし整数で表される) を取得する。 Result(6) が 69 個の非空白文字 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./" のうちの一つならば、ステップ 13 へ。 Result(6) が 256 未満ならば、ステップ 11 へ。 S を 6 個の文字 "%uwxyz" で構成する文字列とする。 wxyz のところは Resulr(6) の値を符号化する 4 個の 16 進数字である。 ステップ 14 へ。 S を 3 個の文字 "%xy" で構成する文字列とする。 xy のところは Resulr(6) の値を符号化する 2 個の 16 進数字である。 ステップ 14 へ。 S を単一の文字 Result(6) を含む文字列とする。 R を、 R の前の値と S を連結して算出した新しい文字列とする。 k を 1 増分する。 ステップ 5 へ。 NOTE 符号化は部分的に RFC1738 に記述される符号化に基づいているが、本標準で規定する完全な符号化は RFC1738 の内容を考慮せず上述される。 B.2.2 unescape (string) unescape 関数はグローバルオブジェクトのプロパティである。これは escape 関数が生成しうる並びの各エスケープシーケンスがその表す文字で置き換えられた新しい文字列値を算出する。 unescape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる ToString(string) を呼び出す。 Result(1) の文字数を算出する。 R を空文字列とする。 k を 0 とする。 k と Result(2) が等しいならば、 R を返す。 c を Result(1) 内部の位置 k の文字とする。 c が % でないならば、ステップ 18 へ。 k が Result(2)-6 より大きいならば、ステップ 14 へ。 Result(1) 内部の位置 k+1 の文字が u でないならば、ステップ 14 へ。 Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の文字全てが 16 進数字でないならば、ステップ 14 へ。 c を、コードポイント値が Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の 16 進数字で表される整数である文字とする。 k を 5 増分する。 ステップ 18 へ。 k が Result(2)-3 より大きいならば、ステップ 18 へ。 Result(1) 内部の位置 k+1, k+2 の 2 個の文字両方が 16 進数字でないならば、ステップ 18 へ。 c を、コードポイント値が 2 個の 0 と Result(1) 内部の位置 k+1, k+2 の 2 個の 16 進数字で表される整数である文字とする。 k を 2 増分する。 R を、 前の R の値と c を連結して算出した新しい文字列値とする。 k を 1 増分する。 ステップ 5 へ。 B.2.3 String.prototype.substr (start, length) substr メソッドは 2 個の引数、 start と length をとり、このオブジェクトを文字列に変換し、文字位置 start で開始して length 個の文字 (length が undefined なら文字列の末尾) まで続く部分文字列を返す。 start が負ならば、文字列の長さを sourceLength として、それを (sourceLength+start) として扱う。結果は文字列値であり、 String オブジェクトにはならない。次のステップが取られる ToString を呼出し、引数に this 値を与える。 ToInteger(start) を呼出す。 length が undefined ならば、 +∞ を用いる; そうでないならば、 ToInteger(length) を呼出す。 Result(1) の文字数を算出する。 Result(2) 正または 0 ならば、 Result(2) を用いる; そうでないならば max(Result(4)+Result(2),0) を用いる。 min(max(Result(3),0), Result(4)-Result(5)) を算出する。 Result(6) ≤ 0 ならば、空文字列 "" を返す。 Result(1) の位置 Result(5) の文字で開始する Result(6) 個の連続する文字で構成される文字列を返す。 substr メソッドの length プロパティは 2 である。 NOTE substr 関数は故意に汎用的である; this 値が String オブジェクトであることを要求しない。それゆえ、他の種類のオブジェクトにメソッドとして転用されうる。 B.2.4 Date.prototype.getYear ( ) NOTE "2000 年問題" を回避するため、ほぼ全ての目的で getFullYear メソッドが好まれる。 getYear メソッドが引数無しで呼出される時、次のステップが取られる t をこの時間値とする。 t が NaN ならば、 NaN を返す。 YearFromTime(LocalTime(t)) - 1900 を返す。 B.2.5 Date.prototype.setYear (year) NOTE "2000 年問題" を回避するため、ほぼ全ての目的で setFullYear メソッドが好まれる。 setYear メソッドが 1 個の引数 year で呼出される時、次のステップが取られる t を LocalTime(この時間値) の結果とする; しかし、この時間値が NaN ならば、 t を +0 とする。 ToNumber(year) を呼出す。 Result(2) が NaN ならば、this 値の Value プロパティを NaN に設定し、 NaN を返す。 Result(2) が NaN でなく、かつ 0 ≤ ToInteger(Result(2)) ≤ 99 ならば、 Result(4) は ToInteger(Result(2)) + 1900 である。そうでないならば、 Result(4) は Result(2) である。 MakeDay(Result(4), MonthFromTime(t), DateFromTime(t)) を算出する。 UTC(MakeDate(Result(5), TimeWithinDay(t))) を算出する。 this 値の Value プロパティを TimeClip(Result(6)) に設定する。 this 値の Value プロパティの値を返す。 B.2.6 Date.prototype.toGMTString ( ) NOTE プロパティ toUTCString が望ましい。 toGMTString プロパティは主に古いコードとの互換性のために提供される。新たな ECMAScript コード内では toUTCString プロパティが用いられることを推奨する。 Date.prototype.toGMTString の初期値である Function オブジェクトは、 Date.prototype.toUTCString の初期値である Function オブジェクトと同じである。