MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【Raspberry Pi】CPU温度とGPIOピン配列確認コマンド

f:id:takayuki-yoshida:20190803123820p:plain 

 

はじめに

Raspberry PiのCPU温度を表示するコマンドと、ケースファンの電源接続のため、GPIOピン配列を確認するコマンドの備忘メモです。

なお、Raspberry Pi 4 Model B 4GBで確認しています。結果は、CPUヒートシンクあり、ケースファン動作(3.3V)、CPUアイドル付近の温度です。

 

CPU温度表示コマンド

Teaminalを開き、以下のコマンドで表示されます

pi@raspberrypi:~ $ vcgencmd measure_temp
temp=44.0'C

 

GPIO ピン配列確認コマンド

Teaminalを開き、以下のコマンドで表示されます

pi@raspberrypi:~ $ pinout

f:id:takayuki-yoshida:20200520232700p:plain

ケースファンは (1)3.3V+ (6)GND- で接続しています。(接続されているかは確認できません)

 

参考

今回購入した Raspberry Pi 4 Model B 4GB 本体とケース、ファンなどの構成です。

アルミケースは、頻繁に開け閉めするには少し煩雑ですが、剛性があるので安心感があります。

ファンは、3.3V駆動であれば静音ですが、5V駆動はかなり音が大きいです。

      

 

www.raspberrypi.org

 

 


【Windows】[VBScript] ドメインポリシー パスワードの有効期間 を取得する

 f:id:takayuki-yoshida:20190421223552p:plain

 

はじめに

ドメインポリシーで設定されている「パスワードの有効期間」を取得するサンプルスクリプトです。

なお、このパスワード有効期間を取得して、各ユーザーの最終パスワード変更日時に加算すれば、パスワード失効日時も求めることが出来ます。

 

パスワードの有効期間を取得するサンプルスクリプト

  • getMaxPwdAge.vbs
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D
Const ONE_HUNDRED_NANOSECOND = .000000100
Const SECONDS_IN_DAY = 86400
Const NO_EXPIRE = 99999

strDomainName = "ドメイン名"

Set objDomain = GetObject("LDAP://" & strDomainName)
Set objMaxPwdAge = objDomain.Get("maxPwdAge")

'//パスワード有効期限が設定されていない場合、終了する
If objMaxPwdAge.LowPart = 0 Then
PasswordDaysLeft = NO_EXPIRE
Wscript.echo PasswordDaysLeft
Wscript.quit
End If

'//パスワード有効期限が設定されている場合
'//ドメインポリシーから取得したパスワード有効期間を変換する
dblMaxPwdNano = Abs(objMaxPwdAge.HighPart * 2^32 + objMaxPwdAge.LowPart)
dblMaxPwdSecs = dblMaxPwdNano * ONE_HUNDRED_NANOSECOND
dblMaxPwdDays = Int(dblMaxPwdSecs / SECONDS_IN_DAY)

'//パスワードの有効期間(日)の表示(ドメインポリシー)
Wscript.echo dblMaxPwdDays

'//ユーザーごとのパスワード有効期限(失効日時)を確認するには、下記で計算する
'//DateAdd("d", dblMaxPwdDays, objUser.PasswordLastChanged)

'//終了処理 Set objDomain = Nothing
Set objMaxPwdAge = Nothing
Wscript.quit

 

 

参考記事

 

social.technet.microsoft.com

 

PowerShellの場合はこちらを参考にしてください

devblogs.microsoft.com

【Windows Server 2019】評価版ライセンスの延長方法

f:id:takayuki-yoshida:20190421223552p:plain

 

はじめに

Windows Server 2019 の評価版ライセンスは、有効期限が180日となっています。検証、評価の期間が長引くなどでライセンス期間を延長したい場合に、延長する方法を紹介します。ただし、有効期限の延長には回数の制限があり、最大6回までとなります。※延長は、期間ではなく延長回数の制限です。

 

環境

Windows Server 2019 Standard 評価版ライセンス

 

ライセンス有効期間を確認する

コマンド プロンプトを開き、以下のコマンドを実行します。

※コマンドプロンプトは、スタートメニューの「Windows システム ツール」にあります

※コマンドは、結果を標準出力で表示する場合で紹介します。

※他のコマンドと見分けやすいように、コマンドを黄色でハイライトしています。

※「ライセンス延長回数の確認コマンド」(/dlv)でライセンス有効期間と延長回数を同時に確認することが出来ます」

コマンド

>cscript c:\windows\system32\slmgr.vbs /dli

結果

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

名前: Windows(R), ServerStandardEval edition
説明: Windows(R) Operating System, TIMEBASED_EVAL channel
プロダクト キーの一部: ****
ライセンスの状態: ライセンスされています
時間単位のライセンス認証の有効期限: 94082 分 (66 日)

この場合、有効期限は残り66日となります。(*の箇所はマスキングしています)

デスクトップ画面の右下に有効期限が表示されていますのが、コマンドの場合は分単位で確認できます。

 

ライセンス延長回数の確認

コマンド

>cscript c:\windows\system32\slmgr.vbs /dlv

結果

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

ソフトウェア ライセンス サービス バージョン: *************

名前: Windows(R), ServerStandardEval edition
説明: Windows(R) Operating System, TIMEBASED_EVAL channel
ライセンス認証 ID: *********************************
アプリケーション ID: *********************************
拡張 PID: *****-*****-***-******-**-****-**********-*******
プロダクト キー チャネル: Retail:TB:Eval
インストール ID: ***************************************************************
使用ライセンス URL: ***************************************************************************
検証 URL: ***********************************************
プロダクト キーの一部: *****
ライセンスの状態: ライセンスされています
時間単位のライセンス認証の有効期限: 94079 分 (66 日)
残りの Windows 猶予期限リセット可能回数: 6
残りの SKU 猶予期限リセット可能回数: 6
信頼された時間: 2020/05/05 12:43:28


この場合、残りの延長回数は6回となります。 (*の箇所はマスキングしています)

 

ライセンスを延長する

コマンド

>cscript c:\windows\system32\slmgr.vbs /rearm

結果

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

コマンドは正常に完了しました。
変更を有効にするにはコンピューターを再起動してください。

OSを再起動します。

 

再起動(コマンド)

コマンドから再起動を行う場合、以下のコマンドを実行します

>shutdown -r -t 0

 

再起動しないままライセンス延長の確認を行った場合(エラー)

なお、再起動しないままライセンス確認のコマンドを入力しても、エラーとなり残り期間の確認ができません。

>cscript c:\windows\system32\slmgr.vbs /dli
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

エラー: 0xC004D302 Microsoft Windows (コア以外) エディションを実行するコンピューターの場合、エラーのテキストを表示するには 'slui.exe 0x2a 0xC004D302' を実行してください。

 

ライセンス延長の確認

コマンド

>cscript c:\windows\system32\slmgr.vbs /dlv

結果

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

ソフトウェア ライセンス サービス バージョン: *************

名前: Windows(R), ServerStandardEval edition
説明: Windows(R) Operating System, TIMEBASED_EVAL channel
ライセンス認証 ID: *********************************
アプリケーション ID: *********************************
拡張 PID: *****-*****-***-******-**-****-**********-*******
プロダクト キー チャネル: Retail:TB:Eval
インストール ID: ***************************************************************
使用ライセンス URL: ***************************************************************************
検証 URL: ***********************************************
プロダクト キーの一部: *****
ライセンスの状態: ライセンスされています
時間単位のライセンス認証の有効期限: 259197 分 (180 日)
残りの Windows 猶予期限リセット可能回数: 5
残りの SKU 猶予期限リセット可能回数: 5
信頼された時間: 2020/05/05 13:08:43

リセット可能回数が減り、有効期限が180日になって事が確認できます。

 

参考

docs.microsoft.com

 

 

 

 

 

【Excel】IPアドレス計算ツール

 

はじめに

 

Excelで作成した「IPアドレス(IPv4)計算ツール」を公開します。

インターネット上にIPアドレス計算ツールはいろいろありますが、オフラインで使用できるものが無かったので、Excelで作成しました。

 

マクロ(VBA)は使用せず、すべてセルで計算していますので、簡単にカスタマイズして使うことが出来ますので、ご自由にカスタマイズしてご使用してください。

ツール内のCIDR表は、サブネットマスクのセル選択に使用しているのみで、ビットマスク計算はセルで行っています

※非表示になっているセルに計算式と説明が入っています 

f:id:takayuki-yoshida:20200321232157p:plain

テストはしていますが、万が一不具合があった場合は、ホームページの問い合わせからご連絡いただけると助かります。

 

使い方

IPアドレス計算.xlsxを開き、下記項目(黄色網掛セル)に調べたいIPアドレスとサブネットを入れてください

・IPアドレス(入力)

・サブネットマスク(選択)

 

下記の結果を表示します。

・ネットワークアドレス

・ブロードキャストアドレス

・IPアドレス数

・ホスト数

・ホストIPアドレス(開始)

 ~

 ・ホストIPアドレス(終了)

 

ダウンロード

 ダウンロードは下記のリンクから。 

www.dropbox.com

 

参考

ja.wikipedia.org

ja.wikipedia.org

SPFレコードの確認方法 ( Nslookup コマンド )

 

 

はじめに

SPF(Sender Policy Framework)とは、送信者のメールアドレスが、なりすましされていないかを判定する仕組みで、使用しているドメインのDNSサーバーに、SPFレコードを設定しておくことで、メールが正規の送信元から届いたものとなり、なりすましでないことを受信者に確認してもらうことができます。

この記事では、Windowsのコマンド「nslookup」で、SPFレコードを確認する手順を紹介します。

 

NslookupコマンドでSPFレコードを確認する

コマンド プロンプトを開き、以下のコマンドを実行します。

※コマンドプロンプトは、スタートメニューの「Windows システム ツール」にあります

 

コマンド

>nslookup -type=txt outlook.com

ドメイン「outlook.com」の場合の例です。調べたいドメイン名を入力してください。

 

結果

サーバー: UnKnown
Address: x.x.x.x
権限のない回答:
outlook.com text =

    "google-site-verification=0iLWhIMhXEkeWwWfFU4ursTn-_OvoOjaA0Lr7Pg1sEM"
outlook.com text =

    "google-site-verification=DC2uC-T8kD33lINhNzfo0bNBrw-vrCXs5BPF5BXY56g"
outlook.com text =

    "v=spf1 include:spf-a.outlook.com include:spf-b.outlook.com ip4:157.55.9.128/25 include:spf.protection.outlook.com include:spf-a.hotmail.com include:_spf-ssg-b.microsoft.com include:_spf-ssg-c.microsoft.com ~all"

v=spf1から始まる部分がSPFレコードです

 

参考

こちらにSPFの詳細が掲載されています

salt.iajapan.org

 

 

 

 

 

【Windows】Windows Update をコマンドで実行する(USOClient.exe コマンド)

f:id:takayuki-yoshida:20190421223552p:plain

はじめに

Windows 10 や Windows Server 2016 , 2019では、Windowsアップデートのコマンド「Wuauclt.exe /detectnow」(更新のスキャン)が廃止され、PowerShellもしくはVBScriptから実行が代替えとして提供されています。

docs.microsoft.com

Windows Update

Wuauclt.exe/detectnow コマンドは廃止され、サポートが終了しました。 更新のスキャンをトリガーするには、次のいずれかの操作を行います。

  • 以下の PowerShell コマンドを実行する。

    $AutoUpdates = New-Object -ComObject "Microsoft.Update.AutoUpdate"
    $AutoUpdates.DetectNow()
    
  • 代わりに、以下の VBScript を使用する。

    Set automaticUpdates = CreateObject("Microsoft.Update.AutoUpdate")
    automaticUpdates.DetectNow()

 

この代替えコマンドでもよいのですが、バッチファイルで作成したい場合は、PowerShell、VBScriptを組み合わせるので、複数のファイルに分かれてしまい、複雑になってしまいます。

そこで、今回紹介する 「USOClient.exe」コマンドで、WindowsUpdateを実行する方法を紹介します。

 

USOClient.exeの使い方

コマンドプロンプトを開き以下のコマンドを実行

usoclient [コマンドオプション] 

 

コマンドオプション

オプション 説明
StartScan  更新プログラムのチェック
StartDownload  更新プログラムのダウンロード
StartInstall 更新プログラムのインストール
※ScanInstallWaitの実行後に使用する
RefreshSettings WindowsUpdateの設定の反映
StartInteractiveScan ユーザーの入力を求めるダイアログ、進行状況またはエラーの表示
RestartDevice  デバイスの再起動(更新プログラムのインストールの完了)
※Windows 10 バージョン1803(以降)では何も表示されないようです
ScanInstallWait 更新のスキャン及びダウンロード
※インストールは実行されないようです
ResumeUpdate 起動時に更新インストールを再開する

 

コマンドの例

更新のスキャン

usoclient StartScan

 

更新のスキャンとダウンロード

usoclient StartScan

 

インストール

usoclient StartInstall

 

参考

www.urtech.ca

omgdebugging.com

social.technet.microsoft.com

 

 

【Graylog】オープンソース版ログ管理ソフトウェア「Graylog」でSyslogを受信するまで【VMware版】

f:id:takayuki-yoshida:20200224192001p:plain

ジョンソン宇宙センター(コールサイン「ヒューストン」)の管制センターの写真が使われている特徴的なログイン画面

 

はじめに 

GRAYLOG OPEN SOURCEは、OSS(オープンソース)版のログ管理ソフトウェアで、ログの集中管理(ログの収集、検索、分析、監視)が出来るようになります。有償版の「Enterprise」もあります。

この記事では、OVA形式で提供される仮想アプライアンス版「Graylog」サーバーをVMWareで構築し、Syslogのログを受信するまでの手順を紹介します。

 

ここで紹介する手順は、以下のバージョンで作成しています。

f:id:takayuki-yoshida:20200224195540p:plain

 


 

仮想アプライアンスイメージのダウンロード

・こちらのリンクからGraylogのovaファイルをダウンロードします。

 

packages.graylog2.org

2020/2/24現在では、こちらが最新です。

Name: graylog-3.2.2-1.ova

Size: 1,285,595,648

Modified: 2020-02-20T19:24:24.000Z

 

VMware ESXi 仮想マシンの作成

・VMware ESXiで仮想マシンの作成をクリックします

・作成タイプの選択は「OVFファイルまたはOVAファイルからの仮想マシンをデプロイ」を選択し、次へをクリック

f:id:takayuki-yoshida:20200224200154p:plain

・仮想マシンの名前を入植し、ダウンロードしたOVAファイルを選択します。

f:id:takayuki-yoshida:20200224201355p:plain

・データストアを選択して「次へ」をクリックします

f:id:takayuki-yoshida:20200224201609p:plain

・デプロイのオプションはそのまま変更せず「次へ」をクリックします

f:id:takayuki-yoshida:20200224201702p:plain

・設定の確認は「完了」をクリックします

f:id:takayuki-yoshida:20200224201805p:plain

OVAファイルがアップロードされ、仮想マシンが作成されるまでお待ちください。

 

仮想マシンにコンソールで接続します。起動するとWebログインアドレスとGraylogの管理者(admin)のパスワード、OSのユーザー・パスワードが表示されます

f:id:takayuki-yoshida:20200224202113p:plain

 

固定IPアドレスの設定

・起動した仮想マシン(Graylogサーバー)へSSH接続します。

 接続するユーザー ubuntu パスワード ubuntu です。

 

・OSバージョンを確認します

ubuntu@graylog:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

 ubuntuバージョン18.04.4 LTSが使用されていましたので、17.10以降の固定IP設定方法で設定を行います

 

・「ip address」コマンドを入力し、現在のIPアドレス(DHCP)とインターフェース名を確認します。

 ※「ens160」が使用されています。

ubuntu@graylog:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:7a:c5:75 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.111/24 brd 10.0.0.255 scope global dynamic ens160
valid_lft 259122sec preferred_lft 259122sec
inet6 fe80::20c:29ff:fe7a:c575/64 scope link
valid_lft forever preferred_lft forever

 

 ・「cd etc/netplan/」コマンドを入力し「ls」コマンドでファイルを表示します

 ※ネットワーク設定は「01-netcfg.yaml」ファイルを変更します。

ubuntu@graylog:~$ cd /etc/netplan/
ubuntu@graylog:/etc/netplan$ ls
01-netcfg.yaml

 

 ・「sudo vi 01-netcfg.yaml」コマンドを入力し、設定ファイルを編集します。

 下記IPアドレスの設定例です

  IPアドレス:10.0.0.6/24

  ゲートウェイ:10.0.0.1

  DNS:192.168.1.1,8.8.8.8,8.8.4.4

ubuntu@graylog:/etc/netplan$ sudo vi 01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
ens160:
dhcp4: no
dhcp6: no
addresses: [10.0.0.6/24]
gateway4: 10.0.0.1
nameservers:
addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

 

・「sudo netplan apply」コマンドを実行して設定を反映します

ubuntu@graylog:/etc/netplan$ sudo netplan apply

 

・「ip address」コマンドを入力し、IPアドレスが反映されている確認します

 

Adminアカウントのデフォルトパスワード変更

Adminアカウントのパスワードはコマンドから変更が必要です。

以下の手順で変更します。

 

・シークレットキー発行を行う為「pwgen -N 1 -s 96」コマンドを実行します。

 ※表示されるシークレットキーは後ほど使用しますので、メモ帳などに貼り付けておきます

ubuntu@graylog:/$ pwgen -N 1 -s 96

 

・Adminのハッシュパスワードを生成する為「echo -n (yourpassword) | shasum -a 256」コマンドを実行します。

 ※(yourpassword)は、Adminアカウントに設定するパスワードを入力してください

 ※表示されたパスワードは後ほど使用しますので、メモ帳などに貼り付けておきます

ubuntu@graylog:/$ echo -n (yourpassword) | shasum -a 256

 

・「vi  /etc/graylog/server/server.conf」コマンドを実行し、下記の内容へ変更します

 「password_secret = 」列に先ほど表示されたシークレットキーへ変更

 「root_password_sha2 =」列に先ほど表示されたAdminのハッシュパスワードへ変更

ubuntu@graylog:/$ pwgen -N 1 -s 96
password_secret = 先ほど表示されたシークレットキー
...
root_password_sha2 = 先ほど表示されたAdminのハッシュパスワード
...

 

 ・graylog-serverサービスを再起動する為「sudo /etc/init.d/graylog-server restart」を実行します。

ubuntu@graylog:/$ sudo /etc/init.d/graylog-server restart

 

Syslog用ポート転送設定

Graylogでは1024以下のポートを使用したINPUT(受信)設定が行えません。そのため、Syslog用ポート514を1514ポートへリダイレクトする設定を行います

・以下のコマンドを実行します

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to 1514
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to 1514

(参考リンク)

docs.graylog.org

 

Graylog Syslog受信設定(INPUT)

・ブラウザで「http://Graylogサーバーの固定IPアドレス」を表示します。

・Usernameに「admin」、Passwordに「設定したAdminのパスワード」を入力して「Sign In」をクリックします。

f:id:takayuki-yoshida:20200224192001p:plain

 

・「System」メニュー「Inputs」をクリックします

f:id:takayuki-yoshida:20200224211159p:plain

 

・Select Inputから「Syslog UDP」を選択し「Launch New Input」をクリックします

f:id:takayuki-yoshida:20200224211351p:plain

 

・「Title」に適当な名前(ノード名や種類など)を入力して、Port「1514」を入力して、一番下の「Save」をクリックします

f:id:takayuki-yoshida:20200224211524p:plain

・「RUNNING」になれば、受信待機状態となります。

あとは、Syslogを送信するノード側でSyslog送信設定を行えば、ログの受信が開始されます。

f:id:takayuki-yoshida:20200224211824p:plain

 

ユーザーの作成

ログ閲覧用ユーザーを作成します。Adminユーザーでは、タイムゾーンがUTCから変更することが出来ず、ユーザーを作成することでタイムゾーンの変更が可能になります。

 

・「System」メニュー-「Authentication」をクリックします

f:id:takayuki-yoshida:20200224212353p:plain

 

・「Add new user」をクリックします

f:id:takayuki-yoshida:20200224212503p:plain

 

・下記の必須項目を入力し「Create User」をクリックします。

Username: ログインユーザー名を入力

Full Name: 名前を入力

Email Address: メールアドレスを入力

Password: ログインパスワードを入力

Time Zone: Tokyo を選択

f:id:takayuki-yoshida:20200224212659p:plain

・作成したユーザーでGraylogへログインしてください。

・「Search」で受信したログの検索ができます

f:id:takayuki-yoshida:20200224213010p:plain

 

今回はここまで。