WinMerge を使う

WinMerge は二つのファイルの差異を比較するツールである。以前 WinDiff を使っていたが、最近はこちらを使用している。

差異行のみ表示する

この機能は通常どの差異比較ツールにもあるが、WinMerge はちょっとわかりづらい。次のメニューから行う。1, 3, 5, 7, 9 行は差異行の前後〇行を表示する機能である。

CSV ファイルの比較を行う

ファイルに CSV を指定すれば、自動的にテーブルとして扱われ、行だけでなく列まで差異の対象となる。意図的にテーブルとして扱うには、次のメニューから行う。

 

Adobe Acrobat Reader DC

Adobe Acrobat Reader DC は、次のサイトからインストールできる。
Adobe Acrobat Reader DC ダウンロード | 無料の Windows、Mac OS、Android 向け PDF ビューア

McAfee などのオプションプログラムはすべてチェックを外してインストールしたい。

最近になって、アプリのタイトルバーに 32bit と表示されるようになった。64bit が別にあるのかと探してみたところ、日本ではまだ公開されていないようだ。
Adobe Acrobat Reader DC の必要システム構成

USB メモリの暗号化

Windows 10 のバージョンが新しくなって、USB メモリの暗号化ができない問題があると聞いていた。

Bitlocker – “Turn on Bitlocker” vanished for USB Drives – Microsoft Q&A

私もずっとできない状態だった。これは Windows 10 の問題か、サポートがされなくなったのでは?と考え、あまり深く追求していなかった。

しかし、どうしても USB メモリを暗号化する必要があり、徹底的に調べてみることにした。そうすると、manage-bde.exe というコマンドがあり、コマンドから実行するとできるという情報があったので、行ってみたが、やはりできない。

Bitlocker ドライブ暗号化ツールを使って bitlocker を管理する (Windows 10) – Microsoft 365 Security | Microsoft Docs

そんな中、USB メモリ自体が対応しているものと、していないものがあるとの情報が。

BitLocker ドライブ暗号化 | Microsoft Docs

で、新しいもの用意した。そうするとあっさり、エクスプローラのメニューに出てきた。

やれやれ、ディスカウントショップで買った安い USB メモリではダメなんだ。

PowerShell – 記号の意味 – ピリオド (.)

Windows PowerShell で使用されるピリオド  ( . ) について説明します。

変数のプロパティを指定

このサンプルでは、$s 変数の Length プロパティを指定しています。

PS C:\> $s = "Hello,World!"
PS C:\> $s.Length
12

 変数のメソッドを指定

このサンプルでは、$s 変数の GetType メソッドを実行しています。


PS C:\> $s = "Hello"
PS C:\> $s.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object

連想配列の要素を名前で指定

このサンプルでは、$s 配列の各要素を名前 (Apple, Orange, Melon) で指定しています。


PS C:\> $s = @{Apple = 100; Orange = 200; Melon = 500}
PS C:\> $s.Apple
100

現在のスクリプトに別のスクリプトファイルを読み込む

このサンプルでは、D:\sample1.ps1 ファイルを読み込んでいます。このスクリプトファイル内で $a1 変数が定義されているとします。

PS C:\> . D:\sample1.ps1

.NET Framework の名前空間に含まれているクラスを指定

このサンプルでは、System 名前空間の String クラスを指定しています。

[System.String]::Concat("ABC", "XYZ")
ABCXYZ

カレントディレクトリを表す

このサンプルでは、start コマンドにより、カレントディレクトリを実行しています。ディレクトリを起動するデフォルトアプリケーションはエクスプローラーなので、結果的にエクスプローラーでカレントディレクトリを表示することになります。

start .

ネットワークのポートが通信できることを確認する

サーバー、クライアントの設定を行っている最中にネットワーク関係の問題が発生した場合には、まずポートを疑うことにしている。

同一ネットワークならば、とりあえず、ファイアウォールを全解除して試してみるが、VPN 越しに環境を構築している場合は、VPN ルータがブロックしているのかもしれない。そのような場合は ftp コマンドを使って確認してみる。

ftp> open 192.168.2.11 8080
192.168.2.11 に接続しました。

当然のことながら、接続後は何らコマンド操作はできない。要は接続できるか、できないかを見極めるだけで、途中の経路に問題がないことが確認できる。

今回 Trend Micro Apex One を構築する際に、どこかの場所でブロックされいないかの確認を行うのに使ってみた。確認したポートは、8080, 4343, 21112 である。

PoweShell – エイリアス

Windows PowerShell で、エイリアス関係のコマンドを説明します。

コマンドレットに対するエイリアス (showfile) を作成

PS C:\> Set-Alias showfile Get-ChildItem

ファンクションに対するエイリアス (ch) を作成

PS C:\> Set-Alias ch Clear-Host

アプリケーションに対するエイリアス (np) を作成

PS C:\> Set-Alias np C:\windows\notepad.exe

エイリアス (dir) の定義内容 (コマンドレット) を取得

PS C:\> Get-Alias dir

エイリアス (dir) の定義内容 (コマンドレット) を取得

PS C:\> Get-Content Alias:\dir

コマンド一覧の中から定義されているエイリアスのみ出力

PS C:\> Get-Command -CommandType Alias
CommandType Name Version Source
----------- ---- ------- ------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias Add-AppPackage 2.0.1.0 Appx
(つづく)

エイリアスの定義をすべて出力

PS C:\> Get-ChildItem Alias:
CommandType Name Version Source
----------- ---- ------- ------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias asnp -> Add-PSSnapin
(つづく)

Alias ドライブに移動してから項目を出力

PS C:\> Set-Location Alias:
PS C:\> Get-ChildItem
CommandType Name Version Source
----------- ---- ------- ------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias asnp -> Add-PSSnapin
Alias cat -> Get-Content
Alias cd -> Set-Location
(つづく)

定義されているエイリアスの一覧を出力

PS C:\> Get-Alias
CommandType Name Version Source
----------- ---- ------- ------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias asnp -> Add-PSSnapin
Alias cat -> Get-Content
Alias cd -> Set-Location
Alias CFS -> ConvertFrom-String 3.1.0.0 Microsoft.PowerShell.Utility
(つづく)

定義されているエイリアスの一覧を出力

PS C:\> alias
CommandType Name Version Source
----------- ---- ------- ------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias asnp -> Add-PSSnapin
Alias cat -> Get-Content
Alias cd -> Set-Location
Alias CFS -> ConvertFrom-String 3.1.0.0 Microsoft.PowerShell.Utility

※ alias はエイリアスだと推測されるが、エイリアスの一覧に表示されません。

ESET EndPoint Secuirty と Trend Micro Apex One の違い

ESET EndPoint Secuirty と Trend Micro Apex One の違いを簡単にまとめてみた。

エージェント

ESET のエージェントは、2 種類インストールする必要がある。最近はクライアント用のソフトウェアをエージェントと呼ぶようだ。

  • ESET Remote Administrator Agent
  • ESET File Security

Trend は1種類のみ

  • Trend Micro Apex One セキュリティエージェント

ライセンス

ESET はエージェントのインストール時にライセンスを入力する必要がある。

Trend は発見したサーバーのライセンスを自動認識するようだ。

PowreShell – Write-Host と Write-Output の違い (1)

Windows Powershell の Write-Host と Write-Output の違いについて説明します。

配列

配列の内容を出力すると、Write-Host は改行なしで出力し、Write-Output は改行ありで出力します。

$s = "A", "B"
PS C:\> Write-Host $s
A B
PS C:\> Write-Output $s
A
B

数値や文字列

数値や文字列をカンマ区切りで出力すると、Write-Host は改行なしで出力し、Write-Output は改行ありで出力します。

PS C:\> Write-Host "A", "B"
A B
PS C:\> Write-Output "A", "B"
A
B

数値や文字列

数値や文字列をスペース区切りで出力すると、Write-Host は改行なしで出力し、Write-Output は改行ありで出力します。尚、この場合 Write-Output は省略できません。

PS C:\> Write-Host "A" "B"
A B
PS C:\> Write-Output "A" "B"
A
B

連想配列

連想配列の内容を出力すると、Write-Host はクラス名を出力し、Write-Output は連想配列の内容を出力します。

PS C:\> $s = @{A = "Apple"; M = "Melon"}
PS C:\> Write-Host $s
System.Collections.DictionaryEntry System.Collections.DictionaryEntry
PS C:\> Write-Output $s

Name Value
---- -----
A Apple
M Melon

数値の計算式

数値の計算式をそのまま記述した場合、どちらも単なる文字列とみなし、単純に計算式を表す文字列として出力します。違いは上記同様改行するかしないかだけの違いです。尚、実際に計算した場合には計算式を表す文字列を式として指定するために丸カッコでくくります。

PS C:\> Write-Host 1 + 2
1 + 2
PS C:\> Write-Output 1 + 2
1
+
2
PS C:\> Write-Host (1 + 2)
3
PS C:\> Write-Output (1 + 2)
3

Trend Micro Apex One 2019 Tips

サーバーのアップデート

最初にインストールしただけでは、サーバーは初期出荷の状態である。サーバーインストール後にパッチを充てる必要がある。

最新パッチは次の場所にある。
Q&A | Trend Micro Business Support

このアップデートを行わないと、Windows 10 の最新バージョンに対応できない問題がある。

サーバーをアップデートする前に証明書をバックアップする必要がある。
C:\Program Files (x86)\Trend Micro\Apex One\PCCSRV\Admin\Utility\CertificateManager>CertificateManager.exe -b P@assword C:\TrendMicro.zip

エージェントのアンインストール

非常に時間がかかるようだ。快適に動作する PC でも 10 分ぐらいかかった。

何台かセットアップを行っていたのだが、途中で停止してしまい、アンインストールもできなくなってしまった。その際は以下のレジストリを削除することで対処できた。

[HKEY_CLASSES_ROOT\Installer\Products\1EFA14817AB44D447800A6FC68A0E81D]

インストール先

なぜか、64bit と 32bit 版が逆のフォルダにインストールされるみたい。

  • 64bit : C:\Program Files (x86)\Trend Micro
  • 32bit : C:\Program Files\Trend Micro

ホスト名で設定されたサーバー情報を IP ドレスに変更する

C:\Program Files (x86)\Trend Micro\Apex One\PCCSRV\ofcscan.ini を開き、ホスト名を IP ドレスに一括置換すればよいと思われる。これで成功したみたい。また、次の項の接続先サーバーも変更する。

接続先サーバーをエージェント側で変更する

1.  サーバーの次の場所にある IpXfer.exe, IpXfer_x64.exe をエージェントがインストールされている PC にコピーする。
C:\Program Files (x86)\Trend Micro\Apex One\PCCSRV\Admin\Utility\IpXfer

2. IpXfer コマンドを実行する。
IpXfer_x64.exe -s 192.168.0.1 -p 8080 -sp 4343 -c 21112 -d Workgroup -pwd unlock

※ホスト名が接続先に設定されているエージェントを IP アドレスでの接続に変更するときにも使用できる。

(参考情報)
Online Help Center (trendmicro.com)

管理コンソールから、エージェントの IP アドレスを指定して、手動で追加できるような機能があったら、うれしい。あるのかな。

旧版のエージェント

エージェントをインストールした直後は、旧版のエージェントとして認識される模様。エージェントに対して自動的にアップデートが実行されれば、管理対象のエージェントにカウントされる。

サーバーにエージェントをインストール

Apex One サーバーにエージェントをインストールしてみた。Apex One Master Service が開始されていないという、メッセージが出て驚いたが、インストール後の再起動時だけのようであった。問題はないみたい。

エージェントの日本語化

アップデートするたびに、英語になったりすることがある。しかし、最終的には日本語になっているので問題はなさそう。

サーバーの設定ファイル

以下の場所にある。
C:\Program Files (x86)\Trend Micro\Apex One\PCCSRV\ofcscan.ini

サポート情報で、このファイルを手動で変更する説明があるので、編集しても問題なさそうだ。方法は次の通り。

  1. Apex One Master Service を停止する。
  2. ofcscan.ini を編集する。
  3. Apex One Master Service を開始する。

エージェントには設定が自動反映される

サーバーの管理コンソールで設定を行うと、インストール用のエージェントには自動的に設定が反映されると思われる。(私の推測)

設定変更後のエージェントインストーラーのサイズを比較すると明らかに違っている。またエージェントをインストールすると、設定が変更されていると思われるからである。

エージェントは、管理コンソールのログイン画面から入手できる。

ClickOnce アプリケーション配布に対応する

ClickOnce によるアプリケーションの配布を行っている場合、アプリケーションの更新によって、ブロックされる。これは挙動監視によるものである。次のチェックを外すことで対応できる。

Trend Micro Apex One 2019 インストールエラー

Trend Micro Apex One 2019 を本番環境にインストールしたところ、エラーが発生した。

mqrt.dll が見つからないため、コードの実行を継続できません。プログラムを再インストールすると、この問題が解決する可能性があります。

Microsoft メッセージキューサービスのインストール設定に失敗しました。

一瞬かなり焦ったが、検索してみると、あっさりトレンドマイクのサポート情報に到達した。
Q&A | Trend Micro Business Support

サポート情報通り、もう一度セットアップを実行すると、エラーなしで完了した。

ちなみにサーバーは、Microsoft Windows Hyper-V 上に構築した Windows Server 2019 である。SSD 上で実行させており、パフォーマンス的に全く問題ない。

 

 

PowerShell – 基本的な使い方 (GUI 編)

Windows PowerShell の GUI による基本的な使い方について説明します。

使い方

1. スタートメニュー – [すべてのプログラム] – [アクセサリ] – [Windows PowerShell] から [Windows PowerShell ISE] を起動します。または、ファイル名を指定して実行から powershell_ise と入力して起動することもできます。

これが Windows PowerShell 2.0 にインストールされている GUI 形式の開発エディタ & 実行環境です。ISE は Integrated Scripting Environment の略です。

このツールを使用してスクリプトを作成し、実行結果を検証できます。また、最下段のコマンドウィンドウから直接コマンド入力して実行もできます。

基本的な使い方 (スクリプトウィンドウの使用)

1. 上段のスクリプトウィンドウにスクリプトを書きます。(新しい PowerShell では、表示 – スクリプトウインドウの表示をクリック)

Write-Host "Hello,World!"

2. F5 を押して実行すると、中段の出力ウィンドウに結果が表示されます。

スクリプトウィンドウは主に複数のコマンドを記述したスクリプトを実行する場合に使用します。もちろん、上記のようにコマンド単体でも実行できます。

基本的な使い方 (コマンドウィンドウの使用)

1. 下段のコマンドウィンドウにコマンドを書きます。

Write-Host "Hello,World!"

2. Enter キーを押すと、結果が表示されます。

結果

PowerShell – 基本的な使い方 (CUI 編)

Windows PowerShell の CUI による基本的な使い方について説明します。

使い方

1. スタートメニュー – [すべてのプログラム] – [アクセサリ] – [Windows PowerShell] から [Windows PowerShell] を起動します。または、ファイル名を指定して実行から powershell と入力して起動することもできます。

2. コマンドを入力して、Enter キーを押します。

一つ一つのコマンドを実行したり、スクリプトを読み込んでの実行に向いています。下記の例の場合、write-h まで入力し、Tab キーを入力すると、Write-Host に補完されます。

サンプル

PS C:\> Write-Host "Hello,World!"

結果

Hello,World!

PowerShell – 用語解説

Windows PowerShell で使用される用語の解説を行います。

Windows PowerShell

コマンドプロンプト上で動作する PowerShell を起動します。64bit 版の Windows では 64bit 版の powershell.exe が、32bit 版の Windows では 32bit 版の powershell.exe が起動します。

Windows PowerShell (x86)

64bit 版の Windows で 32bit 版の powershell.exe が起動します。32bit 版の Windows には存在しません。

Windows PowerShell ISE

PowerShell のコマンド実行、デバッグ、スクリプトの作成ができる GUI 形式のアプリケーションを起動します。64bit 版の Windows では 64bit 版の powershell_ise.exe が、32bit 版の Windows では 32bit 版の powershell_ise.exe が起動します。

Windows PowerShell ISE (x86)

64bit 版の Windows で 32bit 版の powershell_ise.exe が起動します。32bit 版の Windows には存在しません。

ps1

ps1 はファイルの拡張子です。このファイルには Windows PowerShell で作成したスクリプトが保存されます。作成方法は、Windows PowerShell ISE のスクリプトウィンドウにコマンドを入力し、ファイルメニューから保存します。

WordPress で作成したサイトの RSS/ATOM フィードを扱う

WordPress でサイトを作成すると、自動的に RSS/ATOM フィードが作成されます。

作成したサイトに /?feed=rss2 や /?feed=atom をつけます。当サイトのフィードは次のように作成されます。

WordPress サイトに RSS フィードを表示するには、RSS ウィジェットを配置すれば、簡単に表示することができます。

この URL をブラウザで表示することもできますし、Outlook でこのフィードを購読することも可能です。

WordPress サイトの表示問題を解決する

WordPress でサイト開発中にサイトが表示されないトラブルに遭遇しました。

このような場合に、原因を特定する方法として、エラーを表示することができます。

手順

1. サーバーコントロールパネルにログインします。
https://secure.sakura.ad.jp/rscontrol/rs/

2. [PHP 設定の編集] をクリックします。

3. 次の設定を記述して、保存します。
display_errors=on

これで、WordPress 表示時にプラグインなどにエラーがあれば、エラーメッセージが表示されます。

BizVektor (WordPress テンプレート)

WordPress 用のテンプレート BizVektor はすばらしい。
【無料】BizVektor [ ビズベクトル ] 企業サイト向けスマホ対応レスポンシブWordPressテーマ(テンプレート)

しかしながら、すでに開発は終了しているようだ。

代わりに Lightning テーマを使うことになりそうだ。
Lightning – 無料で使える超高機能WordPressテーマ

今流行りのデザインとなっているのと使いやすそうだ。

WordPress のリンクをエクスポート & インポートする

WordPress のリンクは通常のエクスポートでは出力されません。

次の方法でエクスポートします。

エクスポート手順

1.  次のリンクにアクセスします。<ドメイン>はお使いになっているドメインです。
http://<ドメイン>/wordpress/wp-links-opml.php

2. ブラウザのメニューから名前を付けて保存を行います。wp-links-opml.xml が出力されます。

インポート手順

1. [ツール] – [インポート] のブログツールを使用して、インポートします。

しかし、ここでは、一つのカテゴリしか選択することができません。一度インポートして再カテゴリするか、wp-links-opml.xml ファイルをテキストエディタで編集して、カテゴリごとの xml ファイルを作成する必要があります。

WordPress – 開発の基本

WordPress の開発についての基本事項をまとめています。

ファイル構成

「ページテンプレート」

表示の仕方に対応して、それぞれ専用のページ用テンプレートが用意されています。

  • home.php : [設定] – [表示設定] で、フロントページの設定が [最新の投稿] になっている場合に表示されるページです。
  • category.php : カテゴリーに所属する記事を表示するページです。
  • date.php : 日付ごとに投稿された記事を表示するページです。
  • page.php : 固定ページ表示用です。
  • single.php : 個別記事ページ表示用です。
  • search.php: 検索結果ページ表示用です。
  • index.php : 上記の各ページが存在しない時に使用されます。

「パーツテンプレート」

また、各ページで共通に使用する部分はパーツテンプレートとして分離させます。

  • header.php : ヘッダーエリアを記述します。get_header() テンプレートタグで読み込みます。
  • footer.php : フッターエリアを記述します。get_footer() テンプレートタグで読み込みます。
  • sidebar.php

標準で用意されていないパーツテンプレートはカスタムテンプレートとして任意の名前で用意します。

「その他」

上記のほかに以下のファイルがあります。

  • functions.php : カスタムヘッダーやカスタムメニューの機能を追加します。
  • style.ccs : スタイルシートです。

すべてのファイルの保存形式は UTF-8 (BOM 無し) を推奨します。

ページ表示の基準

特に指定がなければ、WordPress のサイトにアクセスすると、functions.php, home.php の順にファイルが表示されます。functions.php が存在しない場合は無視されます。home.php が存在しない場合は index.php が表示されます。これらのすべてのファイルが存在しない場合はブラウザには何も表示されません。

functions.php はサイトのコンテンツ表示と、管理画面の表示の際に読み込まれます。その為、不要な文字があると、wp-admin の表示に影響が出る場合があります。

PAGE TOP
MENU