2023年2月20日月曜日

GMKtekのnucbox5は、中華味溢れる超小型PCだった

 GMKtekという中華メーカーの超小型PCを手に入れたのでレビュー。

基本的にはamazonでしか販売されておらず、また、amazonでも公式ストアが二つに分かれているなど、よく分からない仕様になっているが、恐らくどちらで買っても物は同じだろう。購入したnucbox5は、最安値だとOS(Windows11)込みで199ドルという破格で販売されている。

https://www.gmktec.com/products/intel-11th-jasper-lake-n5105-mini-pc-lgvh

CeleronN5105に8GBRAM、256gbのM.2SATAだと25000円程度。ベンチマークや使い勝手は、他サイトが詳しいので参照頂くとして、こいつの面白いところが一つ見つかった。

amazonのレビューで、OSを再インストールしなければアプリが入らないことがあるらしいという記述を見つけたので、ドライバをバックアップ後、win11のインストールイメージをダウンロードしてクリーンインストールした。ドライババックアップの際、プロダクトコードをvbsで抜き出したのだけれども、どうもwindows11ではなく、windows10 proのライセンスらしいことが分かった。また、クリーンインストールすると、このプロダクトコード、まるっと変わってしまう。プロダクトコードが再インストールの度に変わるとか、どういう仕組みなんだろう。試していないが、キージェネのような仕組みが備わっているのかしらん。それでいいのか中華。

追記
本運用時のtipsを別記事に上げたので参考に。

2023年2月16日木曜日

windowsのインストール済みドライバをバックアップしたい

 今まで使っていたPCをクリーンインストールしようとした場合、ドライバの確保がマストになってくる。自作なのであればマザーボードの型番など、簡単に調べられる物も多いが、メーカー製品、特にノートパソコンとなると、分解してもよく分からなかったりする。

そんなときに、どうドライバをバックアップするかといえば、dismコマンドを使うのが正解。

https://news.mynavi.jp/article/win10tips-137/

管理者権限でコマンドプロンプトを立ち上げて(コマンドプロンプト右クリック>管理者として実行)

まずはドライブの頭に適当なフォルダを作る(mkdir c:\dvrbackup)。

次にdismコマンド(dism /online /export-driver /destination:"C:\dvrbackup")

コマンドが終われば、これで、ドライブの頭に出来たdvrbackupフォルダに、PC内のドライバが全てはいるので、usbメモリにでもバックアップする。

クリーンインストール方法は、コンピュータの管理から、 デバイスマネージャーを開き、適用したい(?がついている)デバイスを右クリック>ドライバーの更新>コンピュータを参照してドライバを検索>保存していたドライバのフォルダを選択 で進める。

Windowsのプロダクトコードを知りたい。

 シールを貼り忘れたりして、インストールしたPCのプロダクトコードをなくしてしまうことがある。無いとは言わせない。意外と、まれによくあるのだ。今回は、もしなくしてしまった場合に、PC内からプロダクトコードを取り出すための方法を書く。

取り敢えず結論は、vbsスクリプトで書き出させるというもの。

https://answers.microsoft.com/en-us/windows/forum/all/extracting-product-key/5fcb3cb7-15fc-4818-9e1b-cacb67d5e51c

に書いてある物を使えばいい。 引用すると

Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName  & vbNewLine & ProductID  & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData  & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
   Save ProductData
End If
 
'Convert binary to chars
Function ConvertToKey(Key)
    Const KeyOffset = 52
    Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
    'Check if OS is Windows 8
    isWin8 = (Key(66) \ 6) And 1
    Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
    i = 24
    Maps = "BCDFGHJKMPQRTVWXY2346789"
    Do
        Current= 0
        j = 14
        Do
           Current = Current* 256
           Current = Key(j + KeyOffset) + Current
           Key(j + KeyOffset) = (Current \ 24)
           Current=Current Mod 24
            j = j -1
        Loop While j >= 0
        i = i -1
        KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
        Last = Current
    Loop While i >= 0
    keypart1 = Mid(KeyOutput, 2, Last)
    insert = "N"
    KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
    If Last = 0 Then KeyOutput = insert & KeyOutput
    ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
  
   
End Function
'Save data to a file
Function Save(Data)
    Dim fso, fName, txt,objshell,UserName
    Set objshell = CreateObject("wscript.shell")
    'Get current user name
    UserName = objshell.ExpandEnvironmentStrings("%UserName%")
    'Create a text file on desktop
    fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile(fName)
    txt.Writeline Data
    txt.Close
End Function

 これを、テキストファイルとして保存し、拡張子を.vbsにして実行するだけ。

注意点は、ウイルススキャンソフトでスキャンすると、害があるファイル認定されるので、適時判断ではずそう。

2022年1月17日月曜日

Qufirewallのリージョン指定ルールが勝手に改変されていた

 Qufirewallの設定を何気なく見たところ、送信元が空欄で許可になっているルールが、ipv4、ipv6ともに存在した。表示上、送信元が空になる設定は出来ない(送信元が任意なら、Any表記になる)ので、間違いなく設定としておかしい。

何の設定が化けたのか探したところ、どうもリージョンを指定して許可・拒否する、一番最初の設定で指定した日本のみ許可設定の、日本の部分が化けているらしい。その修正方法。

まず、ipv4ルールで「+ルールの追加」ボタンを押下し、 権限を許可、インターフェースをAll、送信元をリージョンにして、Japanを選択、プロトコルはAnyを選択で適用する。
ルールが作成されるが、上の方に作られるので、全て拒否ルール(一番下にあるはず)の直上に配置する。無ければ全て拒否ルールを作成する。

送信元が空欄のルールを削除(ゴミ箱ボタン)する。

次に、ipv6ルールをクリックし、同様の処理をする。

最後に「適用」ボタンを押して終了。

ipv4、ipv6両方の設定をしないと、しばらくお待ち下さい表記で待たされるだけ待たされ、そして終わらない。

なぜそんな化け方をしたのか、全くわからないし、SSHで接続して直で見ていないので、どう表記されていたのか定かではないが、やっぱりソフトウェア的な作り込みでは若干不安が残るなあ。でもNAS最速はqnapなので、なかなか悩ましい。

2022年1月5日水曜日

QUFIREWALLに読ませている「拒否されたIPアドレス(CIDR)」

以下は2022.1現在QNAPのQUFIREWALLに読ませている「拒否されたIPアドレス(IPアドレス拒否リスト)」。
基本的には、Qufirewallをすり抜けてきたIPアドレスのサブネットを調べて、IPサブネットで指定して拒否している。
海外が主だが、ごく稀に日本のIPレンジが入っている。
IPレンジは
https://testpage.jp/tool/ip_address_country.php
で調べた。

qufirewallでドメインを指定したからといって、他国からアクセスが来ないかと言われるとそういう話では全くないという・・・。


rules
[{"src_ip": "218.92.0.0/24", "expired_time": 0},
 {"src_ip": "114.251.56.0/24", "expired_time": 0},
 {"src_ip": "203.230.61.0/24", "expired_time": 0},
 {"src_ip": "212.47.226.0/24", "expired_time": 0},
 {"src_ip": "173.243.112.0/24", "expired_time": 0},
 {"src_ip": "112.197.171.0/16", "expired_time": 0},
 {"src_ip": "197.231.70.0/16", "expired_time": 0},
 {"src_ip": "193.153.186.0/16", "expired_time": 0},
 {"src_ip": "1.252.81.0/24", "expired_time": 0},
 {"src_ip": "118.194.132.0/24", "expired_time": 0},
 {"src_ip": "121.200.55.0/24", "expired_time": 0},
 {"src_ip": "125.17.228.0/24", "expired_time": 0},
 {"src_ip": "27.64.0.0/12", "expired_time": 0},
 {"src_ip": "123.16.0.0/12", "expired_time": 0},
 {"src_ip": "210.213.128.0/18", "expired_time": 0},
 {"src_ip": "77.82.0.0/16", "expired_time": 0},
 {"src_ip": "49.64.0.0/11", "expired_time": 0},
 {"src_ip": "72.68.0.0/15", "expired_time": 0},
 {"src_ip": "112.80.0.0/13", "expired_time": 0},
 {"src_ip": "88.214.24.0/22", "expired_time": 0},
 {"src_ip": "116.96.0.0/12", "expired_time": 0},
 {"src_ip": "37.49.224.0/21", "expired_time": 0},
 {"src_ip": "81.128.0.0/11", "expired_time": 0},
 {"src_ip": "190.220.0.0/17", "expired_time": 0},
 {"src_ip": "183.178.0.0/15", "expired_time": 0},
 {"src_ip": "203.166.160.0/19", "expired_time": 0},
 {"src_ip": "45.168.32.0/22", "expired_time": 0},
 {"src_ip": "186.151.0.0/16", "expired_time": 0},
 {"src_ip": "136.32.0.0/11", "expired_time": 0},
 {"src_ip": "122.252.224.0/19", "expired_time": 0},
 {"src_ip": "101.224.0.0/13", "expired_time": 0},
 {"src_ip": "101.251.64.0/18", "expired_time": 0},
 {"src_ip": "222.184.0.0/13", "expired_time": 0},
 {"src_ip": "92.63.192.0/20", "expired_time": 0},
 {"src_ip": "122.51.0.0/16", "expired_time": 0},
 {"src_ip": "185.236.201.0/24", "expired_time": 0},
 {"src_ip": "92.37.128.0/17", "expired_time": 0},
 {"src_ip": "37.120.192.0/18", "expired_time": 0},
 {"src_ip": "85.203.0.0/18", "expired_time": 0},
 {"src_ip": "45.134.20.0/22", "expired_time": 0},
 {"src_ip": "68.144.0.0/13", "expired_time": 0},
 {"src_ip": "45.179.180.0/22", "expired_time": 0},
 {"src_ip": "82.64.0.0/14", "expired_time": 0},
 {"src_ip": "59.148.0.0/15", "expired_time": 0},
 {"src_ip": "115.16.0.0/13", "expired_time": 0},
 {"src_ip": "175.136.0.0/13", "expired_time": 0},
 {"src_ip": "123.201.0.0/16", "expired_time": 0},
 {"src_ip": "89.64.0.0/12", "expired_time": 0},
 {"src_ip": "83.174.192.0/18", "expired_time": 0},
 {"src_ip": "115.66.0.0/16", "expired_time": 0},
 {"src_ip": "87.0.0.0/11", "expired_time": 0},
 {"src_ip": "115.165.192.0/18", "expired_time": 0},
 {"src_ip": "118.216.0.0/13", "expired_time": 0},
 {"src_ip": "211.252.0.0/15", "expired_time": 0},
 {"src_ip": "2.136.0.0/13", "expired_time": 0},
 {"src_ip": "113.60.0.0/16", "expired_time": 0},
 {"src_ip": "119.192.0.0/11", "expired_time": 0},
 {"src_ip": "223.96.0.0/12", "expired_time": 0},
 {"src_ip": "123.128.0.0/13", "expired_time": 0},
 {"src_ip": "37.24.0.0/16", "expired_time": 0},
 {"src_ip": "211.220.0.0/14", "expired_time": 0},
 {"src_ip": "103.125.200.0/23", "expired_time": 0},
 {"src_ip": "86.101.0.0/16", "expired_time": 0},
 {"src_ip": "92.128.0.0/10", "expired_time": 0},
 {"src_ip": "222.112.0.0/13", "expired_time": 0},
 {"src_ip": "94.230.144.0/20", "expired_time": 0},
 {"src_ip": "85.216.128.0/17", "expired_time": 0},
 {"src_ip": "103.251.200.0/22", "expired_time": 0},
 {"src_ip": "113.160.0.0/11", "expired_time": 0},
 {"src_ip": "117.192.0.0/10", "expired_time": 0},
 {"src_ip": "113.96.0.0/12", "expired_time": 0},
 {"src_ip": "87.128.0.0/11", "expired_time": 0},
 {"src_ip": "211.244.0.0/15", "expired_time": 0},
 {"src_ip": "114.80.0.0/12", "expired_time": 0},
 {"src_ip": "106.240.0.0/12", "expired_time": 0},
 {"src_ip": "61.165.0.0/16", "expired_time": 0},
 {"src_ip": "58.32.0.0/13", "expired_time": 0},
 {"src_ip": "101.78.128.0/17", "expired_time": 0},
 {"src_ip": "210.204.0.0/16", "expired_time": 0},
 {"src_ip": "84.118.0.0/15", "expired_time": 0},
 {"src_ip": "112.160.0.0/11", "expired_time": 0},
 {"src_ip": "31.10.128.0/17", "expired_time": 0},
 {"src_ip": "118.32.0.0/11", "expired_time": 0},
 {"src_ip": "183.88.0.0/15", "expired_time": 0},
 {"src_ip": "73.0.0.0/8", "expired_time": 0},
 {"src_ip": "110.142.0.0/16", "expired_time": 0}]
 

2021年11月25日木曜日

Thunderbird91には文字コードの設定が出来る機能が無い

 thunderbirdに文字化けしたメールが届いたので、表示から文字コードの設定を開こうとしたところ、存在しなかった。
代わりに「テキストエンコーディングの修復」があり、それを実行すると文字化けが解消されたのだけれども、どうもそれはそれで気持ちが悪い。
何をやってfixしたのかどうしても気になるのである。
で、先生に聞いてみると、
https://forums.mozillazine.jp/viewtopic.php?f=3&t=18665
流石mozillazine。
バージョンを下げるという手もあるが、もっとスマートにアドオンがあるらしい。
https://addons.thunderbird.net/ja/thunderbird/addon/charset-menu/
捨てる神あれば拾う神あり。

2021年11月22日月曜日

毎日缶コーヒーを飲んだ結果

軽度の脂肪肝になったで御座る。
謂わば軽いフォアグラ。

毎日日常的に、5、6本の缶コーヒーを飲んでいたのだけれども、この度めでたくその結果が出たと言って良いだろう。
恐らく20年近く続けてきたこの習慣に別れを告げるときが来たのだ。
やせがたでフォアグラはまさにカモ。
おめでとう自分。もう還暦なのに。