久々の投稿・・・久々に嵌る
インターネットに接続できない、ドメイン環境なWindows10で、Domain administratorで、とあるインストーラを実行したところ、うんとすんとも反応がない。
インストーラを実行した数秒間だけマウスポインタがくるくる回るだけ。
結論から先に言うと、インストーラ実行する直前に動作するSmartScreenがDomain administratorでは確認画面を表示できず先に進めない状態。
よって、ローカルAdministrator権限なアカウントにサインインしてSmartScreenを無効にすれば実行可能な状態になる。
ところでSmartScreenってどうやって無効にするか?
コントロールパネルで「SmartScreen」を検索すると[セキュリティとメンテナンス]にある
と回答してくれるが、Windows10 1703(Creators Update)では、その検索結果をクリックしても[セキュリティとメンテナンス]内にはどこにも[SmartScreenの設定]は存在しない。
Windows10 1703(Creators Update)では
[設定]>[更新とセキュリティ]>[Windows Defender]内の[Windows Defender セキュリティセンターを開く]をクリック→
[アプリとブラウザーコントロール]をクリック→
[アプリとファイルの確認]内を[オフ]に選択
することで、インストーラの実行を妨げる(だんまりにする)SmartScreenを無効にできる。
Windows Server バックアップでベアメタルリストア
Windows Server バックアップを使用した、Windows Serverのベアメタルリストア方法。
試した環境:Windows Server 2012 R、HP Proliant DL120 Gen9、HP Dynamic Smart Array B140i、NTFSなNAS
都合上画面キャプチャはないのであしからず。ポイントだけ説明。
失敗しても責任は持ちませんので、各自で検証してください。
バックアップ編
■ Windows Server バックアップ
まずはWindows Server バックアップから。
[単発バックアップウィザード]の[バックアップする項目を選択]画面内の[項目追加]ボタンをクリック→[項目の選択]画面で[ベアメタル回復]チェックボックスにチェック。※このとき選択されないドライブがあるので自分でチェックを付ける。ドライブと同列にある[回復]は要らない。
■ ドライバファイル
次にWindows Server バックアップとは別にバックアップする必要のあるドライバファイルについて。
リストア時にドライバが必要になるので、デバイスマネージャを起動し、ディスクコントローラ(記憶域コントローラ)とネットワークアダプターのドライバーファイル名を確認する。ドライバファイルの確認方法はデバイス名のコンテキストメニュー(右クリック)の[プロパティ]をクリックして、プロパティ画面を表示し[ドライバ]タブ内の[ドライバの詳細]ボタンをクリックして表示されるドライバーファイルの名前を記録。
「HP Dynamic Smart Array B140i」なら「HPSA3.sys」
ドライバファイル一式は以下のフォルダ内に保存されている。
C:\Windows\System32\DriverStore\FileRepository
(以下、FileRepositoryフォルダ)
ドライバファイル名が「HPSA3.sys」なら「hpsa3.inf_」で始まるフォルダを探し、見つけたらそのフォルダごとDVDに焼いて保存する。(見つからなければFileRepositoryフォルダを「HPSA3.sys」で検索し見つかったファイルの存在するフォルダを保存)
B140iの場合、「hpsa3.inf_」で始まるフォルダ内にドライバのインストールに使用するセットアップ情報ファイル「hpsa3.inf」が存在するが、この「hpsa3.inf」ファイルの内容を参照すると「include machine.inf」と記載している箇所がある。これは「machine.inf」も必要ということなのでFileRepositoryフォルダの中から「machine.inf_」で始まるフォルダを探し、これもDVDに保存する。
リストア編
[今すぐインストール]ボタンがある画面の左下の[コンピュータを修復する]をクリック→[トラブルシューティング]→[詳細オプション]→[イメージでシステムを回復]→[システムイメージバックアップの選択]画面にて[システムイメージを選択する]を選択して[次へ]
[復元するコンピュータのバックアップの場所を選択してください]画面の[詳細設定]ボタンをクリック。
[ドライバをインストール]をクリック。ドライバを保存したメディアを装填。
ネットワークアダプターのドライバのセットアップ情報ファイル(xxx.inf)を選択。
ドライバのロードに成功し、[復元するコンピュータのバックアップの場所を選択してください]画面に戻ってきたら、Shift + F10 でコマンドプロンプトを呼び出して、IPアドレスを設定する。以下のコマンドを実行。(最初のipconfigでネットワークアダプタ名を取得)
> start /w wpeinit
> ipconfig
> netsh interface ip set address "ネットワークアダプタ名" static <IPアドレス> <ネットマスク> <ゲートウェイ>
> ipconfig
[復元するコンピュータのバックアップの場所を選択してください]画面の[詳細設定]ボタンをクリック。
[ネットワーク上のシステムイメージを検索する」をクリック。
[他の復元方法を選択してください]画面にて[ドライバーのインストール]ボタンをクリックして、ディスクコントローラのドライバをロード。
B140iの場合、hpsa3.infインストールは失敗するがコマンドプロンプトからdiskpart.exeを実行してディスクの一覧を表示するとディスクは見えている。
>diskpart.exe
DISKPART> list disk
ディスク 状態 サイズ 空き ダイナ GPT
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 1863 GB 839 GB
ディスク 1 オンライン 2794 GB 458 GB
ディスク 2 オンライン 2048 MB 2048 MB
[他の復元方法を選択してください]画面にて[次へ]ボタンをクリックして、リストアを続行。
これで、Windowsもベアメタルリストアできるはず。
[windows10]スタートメニューやアクションセンターが表示されないとき
スタートメニューやアクションセンターが表示されないとき(起動しない、開けない、表示されるがすぐ消える)ときの対処方法。
検索結果でよく表示されるpowershellを起動してGet-AppXPackage コマンドを実行してAdd-AppxPackageコマンドを実行する方法でも解決できないときに、この方法を試すと解決するかも。
- スタートメニューを表示できないユーザでログオン
- スタートメニューボタン(田ボタン)の上で右クリックし、エクスプローラを起動
- エクスプローラのリボンメニューの[表示]タブ内の[隠しファイル]にチェック
- そのエクスプローラでC:\Users\ユーザー名\AppData\Local\Microsoft\Windowsに移動
- UsrClass.datのファイル名をUsrClass.dat.oldに変更
- ログオフ
- ログオン
※UsrClass.datのファイル名を変更できない場合はAdministratorユーザなど管理者アカウントで実施
副作用としては、該当ユーザのストアアプリが全て消えます。
といってもここまでひどい状態はユーザアカウント作成直後から発生していると思うので、そこまで影響ないと思いますが・・・
ちなみに当方、中国語版Windowsを無理やり日本語にしている環境です(所謂、中華パッド)。
[python3]HTMLテンプレートとしてformatメソッドを使用するコツ
pythonでCGIプログラムを書くと、str型(文字列型)の変数にテンプレートとなるHTMLを代入して可変のところだけ文字列フォーマット化してしまうことが多いが、python3から本格導入されたformatメソッドでは書式指定部分が「%」から「{}」に囲まれてた部分に変更されているので、HTML中のCSSやJavaScirptと非常に相性が悪い。({ }の間で改行してもKeyとして認識されてしまう)
「%」のときと同様に同じ文字を重ねたらエスケープできるが(「{」→「{{」)、これをHTMLテンプレートの中で全部すると非常にめんどくさいし可読性も悪くなる。
なので、人がコードを記載するときのクセの違いを利用して、後から「{」を「{{」に置換してしまおうという作戦。
大抵の人が以下のようなクセになると思う。(完全に私感)
pythonのformatによる書式指定({}の間はスペースを空けない)
'<html><body>{body}</body></html>'.format(body="今日は晴天なり")
CSS/Javascript(可読性をあげるために{}の間に改行やスペースが入る)
<html> <head> <style type="text/css"> <!-- dt{ backgroud: #bbb } .odd{ backgroud: #ddd } --> </style> <script type="text/javascript"> function hogehoge() { print("本日は晴天なり"); } </script> </head>
これを踏まえて以下のようにすれば、HTMLテンプレート部分は毎度エスケープしなくてもよくなる。({}を重ねる置換を実施してからformatをしている)
import re htmltemplate=''' HTMLのテンプレート ''' html=re.sub(r'([^a-zA-Z0-9])}',r'\1}}',re.sub(r'{([^a-zA-Z0-9])',r'{{\1',htmltemplate,0,re.M|re.S),0,re.M|re.S).format(書式指定)
[python3]デフォルト文字コードの指定(CGI実行時)
前の記事で「python3のデフォルト文字コードがUTF-8だ」なんて書いたが、それはログインプロンプトからログインしたときだけであって、ログインせずに実行してしまうスクリプト(特にCGI)は、そうではない。このカラクリは環境変数「LANG」からpythonで使用するデフォルトの文字コードを取得して自動的に設定しているからである。
$ echo $LANG
ja_JP.UTF-8
CGIの実行ユーザになるであろう「nobody」「apache」「httpd」などはログインシェルは設定されていない(/bin/falseや/sbin/nologinなど)ので環境変数など設定できるわけもなくLANGはデフォルトの「C」(=ascii)であるので、pythonの文字コードもasciiとなる。
なので、CGIで日本語を含む文字列を出力しようとしたら例のごとく
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-14: ordinal not in range(128)
となってしまう。
解決方法
ソースの先頭のほうに以下を追記する。標準出力とエラー出力のエンコードをUTF-8に設定している
import io,sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
※importで呼び出す側およびにimportで呼び出される側両方のソースに上記コードを記載すると、だんまりエラーで異常終了するので注意!(エラーメッセージ出ず。例外処理も効かない。)
追記
ファイルに出力するときもpythonの文字コードがasciiになってしまっているが、上記方法では補正できない。
ファイル出力の文字コードを正しいものに修正するには、ファイルオープン時に文字コードを指定する。
fh=open("hoge.txt","a",encoding='utf-8')
[python3]文字コードの判定
python3になってから文字列型はUTF-8になったため、文字コード不明のファイルを開いたり、ダウンロードしたりするとread()でUnicodeDecodeErrorになってしまう。(例えば、EUCの変数データを無変換でUTF-8を期待する変数に代入することはできない)
>>> fhinput = open("eucsample.txt","r")
>>> fhinput.read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python3/lib/python3.4/codecs.py", line 313, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 0: invalid start byte
>>> fhinput.close()
ファイルを開く際にバイナリモードで開けばread()メソッドの型はバイナリ(bytes)型になるので、python2の頃と同様にファイルの内容を変数に格納できるので総当りでdecode(文字コード変換)に挑戦できる。以下のサンプルコードは文字コードEUCのファイルをバイナリで開いて総当り文字コード変換を試みた例。
>>> fhinput = open("eucsample.txt","rb")
>>> htmlbytes=fhinput.read()
>>> htmlbytes
b'\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\n\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\n\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa8\n\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\n\xc8\xf8\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa'
>>> htmlbytes.decode('shift_jisx0213')
'、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「、「\n、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、\n、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ヲ、ィ\n、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ、ィ\nネ?ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ、ェ'
>>> htmlbytes.decode('iso2022jp')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'iso2022_jp' codec can't decode byte 0xa4 in position 0: illegal multibyte sequence
>>> htmlbytes.decode('euc_jisx0213')
'ああああああああああああああああああああああああ\nいいいいいいいいいいいいいい いいいいいいいいいいいい\nうううううううううううううううううううううえ\nええええええええええええええ\n尾おおおおおおおおおおおおおおお'
EUCのはずなのにshift_jisx0213で成功してしまってますが・・・
総当りで文字コード変換に挑戦するコードの例は以下。
def conv_charset_file(inputfile,outputfile):
try:
fhinput = open(inputfile,"rb")
htmlbytes = fhinput.read()
fhinput.close()
except:
return None,"文字コード変換できません"
codelst = ('utf_8','euc_jisx0213','shift_jisx0213','iso2022jp','iso2022_jp_ext','iso2022_kr','big5','big5hkscs','johab','euc_kr','utf_16','iso8859_15','latin_1','ascii')
code = ""
for encoding in codelst:
try:
htmlstr = htmlbytes.decode(encoding) # bytes文字列から指定文字コードの文字列に変換
htmlstr = htmlstr.encode('utf-8') # uft-8文字列に変換
code=encoding
break
except:
pass
if code == "" :
return None,"文字コード変換できません"
try:
fhwrite = open(outputfile,"w")
fhwrite.write(htmlstr)
fhwrite.close()
except:
return None,"文字コード変換できません"
return code,None
ちなみにHTMLであればファイル内に文字コードが定義されているので、そこから文字コードを拾ってこればよいのでは思ってしまうが、そうはうまくいかない。内容を検索するには変数に格納しないといけないが、バイナリ型ではないと格納できない。またバイナリ型は文字列比較できないので、文字列型に変換しないといけないが、decodeせずに文字列に変換すると16進数表記をさらに「\」をエスケープされているので、全く別物の文字列と化してしまっている
>>> fhinput = open("eucsample.txt","rb") >>> htmlbytes=fhinput.read() >>> htmlbytes b'\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\xa4\xa2\n\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\n\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa6\xa4\xa8\n\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\xa4\xa8\n\xc8\xf8\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa\xa4\xaa' >>> import re >>> regcheck=re.compile('content="text/html; *?charset="*(.+?)"',re.I|re.S|re.M) >>> regcheck.search(htmlbytes) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't use a string pattern on a bytes-like object >>> regcheck.search(str(htmlbytes)) >>> >>> str(htmlbytes) "b'\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\xa4\\xa2\\n\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\xa4\\n\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa6\\xa4\\xa8\\n\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\xa4\\xa8\\n\\xc8\\xf8\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa\\xa4\\xaa'"
[KVM]仮想GUIコンソールで日本語キーボードにする方法
仮想コンソールマネージャ(virt-manager)で仮想マシンを作成すると、キーボードが英字配列になってしまい、記号等が刻印どおりに入力できない。この不便な状態からキーボード入力を日本語配列に修正する方法。
仮想マシンを定義しているxmlの「graphics type=’vnc’」を定義している行に「 keymap=’ja’」を追記して修正する。
仮想マシンを定義してるxmlファイルの場所は/etc/libvirt/qemu/[仮想マシン名].xml
修正前
<graphics type='vnc' port='-1' autoport='yes' />
↓
修正後
<graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
[KVM] virshコマンドまとめ(おまけつき)
KVMをCUIで管理するときに使用するvirshコマンドの使い方まとめ。(随時更新予定)
ただまとめるだけだと他の技術ブログと同じような内容になってしまうので、意味もなくOracle VM for SPARC(LDOM)のldmコマンドとも比較してみる。(ニッチ過ぎる・・・)
- 所謂「仮想マシン」の呼び名は正式に「ゲストドメイン」です
- 太文字は打ち込んだコマンドです
- []で囲まれた斜体は可変値を表します
情報表示系
仮想マシンの一覧表示
KVM |
|
OVM for SPARC |
|
OVM for SPARCのほうが割り当てリソースなども表示されるので便利
仮想マシンの詳細表示
KVM |
|
ストレージプールの一覧表示
KVM |
|
OVM for SPARCにはストレージプールの概念はない。
ストレージプールの情報表示
KVM |
|
仮想ネットワークの表示
KVM |
# virsh net-list
名前 状態 自動起動 永続
--------------------------------------------------
default 動作中 はい (yes) はい (yes)
|
物理マシンのインタフェース表示
KVM |
# virsh iface-list --all
名前 状態 MAC アドレス
--------------------------------------------
br0 動作中 00:23:54:73:13:30
eth1 停止状態 00:1b:21:a1:85:0c
eth2 停止状態 00:40:26:f9:7e:ea
lo 動作中 00:00:00:00:00:00
|
OVMforSPARC |
|
仮想マシンの管理
正直、GUI(仮想マシンマネージャ)から管理したほうが楽ですよ。どうせ仮想マシンのGUIコンソール使うんだし。現場がSSHしかリモート接続許可していないとか、CUI萌え~な人はどうぞ。
仮想マシン用ディスク作成
KVM |
例
|
OVM for SPARC |
※先にゲストドメインを作ってあげないといけない。 |
仮想マシン作成
KVM | ※実行前にブート可能なCDROMイメージを用意すること
例 失敗してますが・・・
/etc/libvirt/qemu以下に仮想マシン定義のxmlファイルができている
|
OVM for SPARC |
|
仮想マシン CUIコンソール接続
KVM |
※「^]」はctrl+] |
OVM for SPARC | ※CONS列の番号がポート番号
|
仮想マシン停止
KVM |
※acpiを有効にしておかないとシャットダウンできない |
OVM for SPARC |
|
仮想マシン 強制停止
KVM |
|
vrishコマンドのヘルプ
KVM |
|
ダメだ。ぜんぜんまとまってない・・・
[NNMi]設定のエクスポート インポート
NNMiの設定をエクスポート、インポートする方法。
設定作業前に設定内容をバックアップしたり、検証機などに設定を移し変えるときに使用できる。
このエクスポートの対象となるのは設定のみで、収集した情報(収集したSNMPトラップ、シードから検出したノードの情報およびSNMPで収集したインターフェースなどの情報、それに付随する管理モード(管理/非管理))はバックアップできないので注意。
以下のコマンドで設定をエクスポートする。
nnmconfigexport.ovpl -c all -f [出力するフォルダパス]
指定したフォルダにxmlファイルが複数出力される。
設定をインポートする場合はこちら。
nnmconfigimport -f [xmlファイルがあるフォルダパス]
インポートした際の設定は上書き。既存の設定とぶつかり矛盾が発生する場合は既存の設定を消去する。(同じインシデント名であるが、作成したタイミングが異なり内部的に持つuidが異なる場合)
[NNMi]よくある概念の間違い
まず・・・・
SNMPトラップとSNMPは全くもって別物。
SNMPトラップは監視される機器が自ら異常などを通知する目的のプロトコル。
SNMPは監視する機器が監視される機器の情報を取得または操作するためのプロトコル。
そして、一般的に言うイベントはインシデント。このインシデントの違いにおいて、
SNMPトラップ・・・文字通り。監視対象から送信されたSNMPトラップを起点として検知されたイベント。(大雑把に機器故障通知、リンクダウン/アップなど)
管理イベント・・・NNMiから監視対象にSNMPポーリング(情報取得)して発見した、NNMiが検知したイベント。(大雑把にPing監視など)