SCCMで機種名でフィルタしたデバイスコレクションを作成する
SCCMで、機種を限定してパッケージをデプロイすることになりました。
このため、機種名でフィルタしたデバイスコレクションを作成します。
下記の情報が参考になりました。
デバイスコレクションを作成する際、メンバシップルールとしてクエリルールを作成し、下記のようなクエリを設定します。
OptiPlex 7000 でフィルタする例:
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.Model="OptiPlex 7000"
クエリルールでは、GUIを使ってクエリを作成することができますが、SQLがわかればShow Query Languageボタンを押して直接SQLを書いたほうが速いです。
キーボードで音量調整
こちらの記事を参考に、音量調整のショートカットキーが存在しないPCで音量調整できるようにしました。
ChangeKey, AutoHotKey を使用します。
ChangeKeyを使用して、CAPS LOCKをF13(0x0064)に、AutoHotKey Ver.1のスクリプトを使用して、音量調整ができるようにします。
以下引用
F13 & u::Send,{Volume_Up 2} ;Caps Lock(F13) + uを1回押すごとに音量が2あがる
F13 & d::Send,{Volume_Down 2} ;Caps Lock(F13) + dを1回押すごとに音量が2さがる
F13 & m::Send,{Volume_Mute} ;Caps Lock(F13) + mでミュートのON/OFF切り替え
とても助かりました。
Windows11のリモートデスクトップ接続で毎回パスワードを聞かれる
こちらの情報で解決したので覚え書き。
検索すると、グループポリシーで資格情報の委任を許可する方法は多数出てくるが、自分の環境では解決しなかった。
以下引用
①レジストリーエディターの起動(regedit)
②以下のキーに移動
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
③以下の値を追加
EnableVirtualizationBasedSecurity(DWORD) →値は0
RequirePlatformSecurityFeatures(DWORD) →値は0
④以下のキーに移動
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
⑤以下の値を追加
LsaCfgFlags(DWORD) →値は0
⑥再起動した後、一度パスワードを手入力でログインする
ICINGA2 + Check WMI Plus でWindowsホストの監視(3)
今回は、ひととおり監視の設定が出来るようになったIcingaでメール通知の設定をします。
メール送信には mailx パッケージが必要なので、あらかじめインストールしておきます。
sudo yum -y install mailx
- ユーザーの作成
メールの送信先となるユーザーを作成します。 - Notification templateの作成
次に、Notification templateを作成します。
Icinga Directorから、Notification - Notification templates を選択して、Host template, Service template をそれぞれ作成します。必要に応じ、State and transition state filterを設定することで、通知する内容をフィルタすることが出来ます。
- Notificationの作成
最後に、Notificationを作成します。
Icinga Directorから、Notification - Notification templates を選択して、下記のように作成します。
ここで、先ほど作成したNotification Templateを指定します。
以上をDeployすることで、通知が有効になります。
デフォルトでは、サーバがMXレコードを引きメールを送信しようとします。
SMTPサーバを指定したい場合は、スクリプトを修正する必要があります。
- /etc/icinga2/scripts/mail-service-notification.sh
- /etc/icinga2/scripts/mail-host-notification.sh
#!/usr/bin/env bashこのMAILBINの内容に、SMTPサーバの指定を追加してしまいます。
#
# Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)
# Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT licensePROG="`basename $0`"
ICINGA2HOST="`hostname`"
MAILBIN="mail"
MAILBIN="mail -S smtp=[smtpserver] "
ICINGA2 + Check WMI Plus でWindowsホストの監視(2)
(1)で、Icinga Web 2, Check WMI Plus のセットアップが完了しましたので、実際にWindowsのホストを監視する設定を行っていきます。
Icinga Directorでの設定は、DeployをすることでIcingaのコンフィグに反映します。エラーがある場合はその際に分かりますので、Deploymentsメニューから、途中途中でDeployしておくと良いと思います。
- Command Templateの作成
Plugin Check Command用のCommand Templateを作成します。
コマンドとなるスクリプトのファイルは check_wmi_plus.pl ですので、Commandタブはこちらのようになります。
Argumentsタブで、引数を設定します。
この中で、固定の値になる --inidir, --inifile は直接記述してしまいます。それ以外はすべて1.で作成したData Field変数です。
- Commandの作成
- Service Templateの作成
3.で作成したCommandを使用して、Service Templateを作成します。
Fieldsタブで、check_wmi_plus.pl の引数を追加していくと、上のように引数が表示されます。サービスによって引数の有無が違うので、Mandatoryかどうかは、必要に応じて設定します。
- Service Ruleの作成
監視したい項目ごとに、Service Ruleを作成していきます。
それぞれしたの画面のような設定になっています。
このService Ruleの場合、host.vars.OS_Type = Windows
host.vars.AD = Trueのときに自動的に監視項目となるようにしています。この変数は後述するHostの中で設定します。
Custom Propertiesは、こちらの情報が参考になると思います。
Check WMI Plus - Can you show me some example command lines?
- Host Templateの作成
Host Templateを作成します。
Fieldsタブで、こちらのように3つの変数を追加しています。
それぞれ、下記のような目的で使用しています。- host_address
- ホストのIPアドレスを指定するため
- OS_Type
- wmi_authfile_path
- ホストの認証情報を書いたファイルを指定するため
- host_address
- Hostの作成
最後に、監視したいホストを作成します。
ホストテンプレートで作成したhost_address, wmi_authfile_pathを指定しています。
わざわざhost_addressを指定している理由は、Icingaサーバが監視したいホストのアドレスを解決できない場合、WMIクエリが失敗してしまうためです。
wmi_authfile_pathは、ホストにより認証情報が異なることがあるため、あらかじめファイルを必要に応じ用意しておき、ホストごとに指定しています。同じ認証情報しか使用しない場合は不要です。
これでひととおりWindowsホストを監視するための設定が出来ました。
ICINGA2 + Check WMI Plus でWindowsホストの監視(1)
Check WMI Plus プラグインを使用して、Windowsホストの監視をします
参考にしたのは主に下記のサイトです。
- How to Install Icinga 2 and Icinga Web 2 on CentOS 7
- Install Icinga2, Icinga Web 2 and Icinga Director under EL7
- Check WMI Plus - edcint.co.nz
- Icinga2 and Windows monitoring (WMI)
いまのところ、情報がひとつのサイトにまとまっていないので苦労しますが、順番に見ていきます。
- Icinga, Icinga Web 2のセットアップ
1.のサイトを参考に、Apatch, MariaDB, PHP, Icinga2をセットアップしていきます。
途中、PHPのインストールで注意が必要です。
CentOS7系の場合、デフォルトで古いPHP5.4がインストールされますが、Icingaweb2はPHP5.6を要求します。
また、サイトの情報だと不足している、php-fpmも必要です。ここまで正常に進められれば、Icinga Webが利用できるようになりますので、サイトに従いWebからセットアップを行います。
The directory /etc/icingaweb2 is not writable. というエラーが出ます。これは、SELinux status を permissive モードに変更することで回避します。
- Icinga Directorのセットアップ
Icinga Directorモジュールをインストールすることで、GUIから各種設定ができるようになります。
2.のサイトの後半 Icinga Director セクションからの手順を進めます。一通りインストールができたら、Kickstart Wizard を実行します。 - Check WMI Plusのセットアップ
4.のサイトを参考に、Check WMI Plusプラグインをインストールします。Check WMI Plusはperlで書かれていますが、perlのモジュールが不足している場合があります。必要に応じ、モジュールをインストールします。
yum install perl-Number-Format -y
yum install perl-Config-IniFiles -y
yum install perl-DateTime -yStep 4. Configuration for Icinga2 以降は、Check WMI Plusプラグインを使用するためのIcingaの設定になります。設定をIcinga Directorを使用して行う場合は、この手順はスキップして構いませんが、Icingaの設定の概念を理解しておかないとIcinga Directorの設定も難しいので、一度ここで試しておくのが良いかもしれません。
※ /etc/icinga2/conf.d/commands.conf の部分はソースが間違っていますので注意して下さい。
(2)で、実際にIcinga DirectorでCheck WMI Plusを使用するための設定方法を解説します。
vSphere 4.1 にWindows Server 2012 R2の仮想サーバを構築
vSphere 4.1 はWindows Server 2008までしか対応していないため、そのままではWindows Server 2012 R2の仮想サーバは構築できません。インストールの途中で、ブルースクリーンになってしまいます。
仮想サーバのBIOSがEFIでないことと、CPUIDのマスクが必要だそうです。
こちらのページを参考に設定したところ、無事起動できるようになりました。
[参考] ソフトウェア開発者の日常 - Windows Server 2012 R2をvSphere ESXi環境にインストールする場合の注意点
【追記】
情報が不足していましたので、追記します。
このスレッドを参考に、BIOS ROMをアップロードし、これを使用するようにコンフィグに追記します。
[参考] How to install windows 8 on esxi 4.1 ?
bios440.filename = ""
- CPUIDマスクを変更
このページを参考に、CPU IDを修正します。
- Power off the virtual machine.
- Right-click the virtual machine and click Edit Settings.
- Click the Options tab.
- Select CPUID Mask under Advanced.
- Click Advanced.
For Intel:
Under the Register column, locate the edx register under Level 80000001.
Paste this into the value field:
- :0---:----:----:----:----:----:----
For example:
cpuid.80000001.edx = ----:0---:----:----:----:----:----:----
For AMD:
Select the AMD Override tab.
Change cpuid.80000001.edx.amd = -----------H-------------------- to
cpuid.80000001.edx.amd = ----0---------------------------