Symantec Endpoint Protection とHyper-V仮想マシンで必要な設定

「不一致IPトラフィックの設定」の「アプリケーショントラフィックのみを許可する」にチェックを入れたらいいらしい。

image

サーバーでポリシー制御してるので、Manager を開いて、クライアントを選択して、ポリシータブを選択。

場所固有のポリシーで、場所固有の設定で、クライアントユーザーインターフェース制御の設定を選択。

image

混合制御を選択し、カスタマイズボタンを選択する。

image

サーバーで制御に選択する。

image

クライアントユーザーインターフェースの設定タブを選択して、不一致IPトラフィックの設定を設定する。

image

Excel2016 にアップグレードしたときの注意点

Office 365 ProPlus で、Excel 2013 を使用していると、最近次の画像のように、「新しいOfficeをインストールしましょう」と表示されて、「Officeの更新」ボタンが表示されます。

76409b64-28f9-4138-a953-621cb5f52172

 

このボタンをクリックすると、Excel 2016にアップグレードできるのですが、一部問題が発生します。

言語の既定が変わってしまい、英語(米国)となってしまうようです。

08c69a0b-f228-4933-976b-0c0441bd6f1f

 

この状態で、一部文字コードでCSVをExcelで開いたときに、それまで問題なかったのに急に文字化けする事象に遭遇してしまいます。

おそらく、最新版へのインストールを促されるのですが、その際に使用されるインストーラーがen-usになっているのかもしれません。OSのロケール見て、ちゃんとja-JPのインストーラーが降ってくると良いですね。

 

ちなみに、言語の既定を日本語に変更すれば問題ないのですが、注意点が一個。
Excelファイルなどを開いてる状態でインストールしないことを強く推奨します。
開いているときに言語設定を変更すると、開いているファイルにも影響が出ます。
例えば、vlookup文法の中にある「’(シングルクォート)」が欠落してしまい、そのままの状態で保存してしまうと次回起動時に不正とみなされ修復ウィザードが動作してしまい数式が飛んでしまいます。悲しい…。

Windows の共通フォルダーの変数

正式名称がよくわからないのですが、たぶん次のどれか。

  • Common folder variables
  • Recognized Environment Variables
  • 認識される環境変数
  • 共通フォルダー変数
  • システム環境変数
  • 既定のシステム変数

https://www.microsoft.com/security/portal/mmpc/shared/variables.aspx
サイトから参照。

%APPDATA%
C:\Users\ <user name>\AppData\Roaming

%CommonProgramFiles%
C:\Program Files\Common Files

%HOMEPATH%
\Users\ <user name>

%LOCALAPPDATA%
C:\Users\ <user name>\AppData\Local

%ProgramData%
C:\ProgramData

%ProgramFiles%
C:\Program Files or C:\Program Files (x86)

%PUBLIC%
C:\Users\Public

$recycle.bin
Windows recycle bin (hidden location)

%SystemDrive%
C:

%SystemRoot%
C:\Windows

%TEMP%
C:\Users\ <user name>\AppData\Local\Temp

スタートフォルダー
C:\Users\ <user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Symantec Endpoint Protection のクライアントパッケージをアップデートする方法

Symantec Endpoint Protection Manager で、インストールパッケージをエクスポートできます。初回インストール時に、自動的にパッケージが生成されています。

アップデートが反映された最新バージョンのインストールパッケージを作成する方法がわからず苦労したのでメモしておく。

  1. SymantecのFileConnectにアクセスする。
  2. シリアル番号を入力し、「シリアル番号送信」ボタンをクリックする
  3. 「Sumantec Endpoint Protection 12.1 – Japanese」を選択する
    image
  4. 製品一覧から「Symantec Endpoint Protection_*_Full_installation_JP.exe」を選択し、exeファイルをダウンロードする。
    image
  5. ダウンロードしたEXEファイルを実行すると、自動解凍される。解凍後起動するダイアログは閉じてOK。
  6. 自動解凍した「\Symantec_Endpoint_Protection_12.1.6_MP4_Full_Installation_JP\SEPM\Packages」を表示する。その中にあるファイルを使用してパッケージを登録する。
    image
  7. Symantec Endpoint Protection Managerを起動し、「管理」タブ→「インストールパッケージ」を選択する。
    image
  8. 画面で右クリックして、コンテキストメニューから「追加」を選択する。
    image
  9. パッケージ名、パッケージファイルを選択する。Windowsの64bit用は、SAV64.infoのファイル。
    image
  10. 読み込みが完了したら、このダイアログが表示される。
    image

これで無事、インストールパケージが最新にできました。ここまで到達するのに時間かかった…。もう少しわかりやすいマニュアルを用意してください!Symantecさん。

array と json_encode のメモ

次の2つのJSONがある。

{"0":{"a":1,"b":2},"1":{"a":1,"b":2},"3":{"a":1,"b":2}}
[{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2}]

後者を期待していて、前者に遭遇して困ったのでメモ。

PHPでarrayから要素を削除を参考に、unsetで要素を削除してjson_encodeをしたら前者のJSONが生成されて困った。

unsetでarray要素で歯抜けができた状態で、json_encodeをするとJSONが配列になり、歯抜けを解消すると、オブジェクトになる。

$array = array();

って配列があって、その配列にインスタンスを格納してあるとして、次の処理をする。

json_encode($array);
unset($array[2]);
json_encode($array);
array_values($array);
json_encode($array);

と3つJSONを出力すると、次のようになる。

[{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2}]
{"0":{"a":1,"b":2},"1":{"a":1,"b":2},"3":{"a":1,"b":2}}
[{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2}]

歯抜けの配列と、連番の配列だとjson_encodeの結果に差がでることになかなか気づかなくて時間を無駄にした。