VBScript String Encode / Decode
出處 https://stackoverflow.com/questions/496751/base64-encode-string-in-vbscript
有時候有文字傳遞的需求, 但卻又無法直接傳遞中文字 (編碼問題)
此時先將文字轉換成 Base64 編碼, 傳遞後再 Decode 是最好的辦法
只需要帶入一些函式即可簡單處理
' Base64-encode: from UTF-8-encoded bytes.
Word1 = Base64Encode("Word1", False)
' Base64-encode: from UTF-16 LE-encoded bytes.
Word2 = Base64Encode("Word2", True)
' Base64-decode: back to a VBScript string via UTF-8.
Word3 = ConvertFromUTF8(Base64Decode(Word1, False))
' Base64-decode: back to a VBScript string via UTF-16 LE.
Word4 = ConvertFromUTF8(Base64Decode(Word2, True))
wscript.echo Word1 & vbcrlf & Word2 & vbcrlf & Word3 & vbcrlf & Word4
2018-03-13
Symantec Definition Auto Downloader VBScript for SEPM
如果是在暗網 (Dark Network) 裡面使用 Symantec Endpoint Protection 的話
可能沒辦法透過全自動 Internet Update 來更新病毒碼
還好 Symantec 有提供了手動下載病毒碼並放到特定路徑讓 SEPM 自己去更新的辦法
但如果要人工下載實在太麻煩又會忘記
於是寫了一個簡單的 VBScript 來下載
因為不熟悉 VBS 連接 FTP 的語法
找不到怎麼取得檔案日期時間以便比對出最新的一個來下載
所幸 Symantec 的檔名應該是按照 Hex 版本號來命名
所以比對檔名也可以取得最後一個最新的病毒定義檔
該下載哪個版本的病毒定義檔要 到這裡來確認
改前面兩個參數指定下載來源與目的就可以了
如果未來 Symantec 有任何異動, 就自己改一下吧
可能沒辦法透過全自動 Internet Update 來更新病毒碼
還好 Symantec 有提供了手動下載病毒碼並放到特定路徑讓 SEPM 自己去更新的辦法
但如果要人工下載實在太麻煩又會忘記
於是寫了一個簡單的 VBScript 來下載
因為不熟悉 VBS 連接 FTP 的語法
找不到怎麼取得檔案日期時間以便比對出最新的一個來下載
所幸 Symantec 的檔名應該是按照 Hex 版本號來命名
所以比對檔名也可以取得最後一個最新的病毒定義檔
該下載哪個版本的病毒定義檔要 到這裡來確認
改前面兩個參數指定下載來源與目的就可以了
如果未來 Symantec 有任何異動, 就自己改一下吧
2018-02-23
各種版本的 Hyper-V Integration Services KB List
Hyper-V Integration Services: List of Build Numbers
https://social.technet.microsoft.com/wiki/contents/articles/33796.hyper-v-integration-services-list-of-build-numbers.aspx
Get KB Number and Search to Download here:
http://www.catalog.update.microsoft.com
https://social.technet.microsoft.com/wiki/contents/articles/33796.hyper-v-integration-services-list-of-build-numbers.aspx
Get KB Number and Search to Download here:
http://www.catalog.update.microsoft.com
2018-01-19
WSUS Windows Update Auto Approve after One Month 延後一個月自動核准
WSUS 沒有內建延遲 Approve 的功能
但是微軟釋出的更新常常會出包, 有的隔天就回收, 有的兩周內回收, 再釋出新版
為了避免中招當白老鼠, MS 的建議是要建立測試環境然後手動 Approve
問題是有多少公司企業有這種美國時間跟人力呢?
不要在更新一發佈就立刻 Auto Approve 我覺得是權宜之計
但還是無法完全避免 Update 與應用程式發生相容性問題
若要做到延遲 Approve 就會需要用到 PowerShell 了
首先 WSUS 不要設定 Auto Approve
然後參考以下 Script 每天執行就好了 (可以附帶執行 Clean Up , 參考這篇)
*. 紅字部分的判斷可加可不加, Malicious Software Removal Tool 在被取代後並不會立刻 Superseded
但是微軟釋出的更新常常會出包, 有的隔天就回收, 有的兩周內回收, 再釋出新版
為了避免中招當白老鼠, MS 的建議是要建立測試環境然後手動 Approve
問題是有多少公司企業有這種美國時間跟人力呢?
不要在更新一發佈就立刻 Auto Approve 我覺得是權宜之計
但還是無法完全避免 Update 與應用程式發生相容性問題
若要做到延遲 Approve 就會需要用到 PowerShell 了
首先 WSUS 不要設定 Auto Approve
然後參考以下 Script 每天執行就好了 (可以附帶執行 Clean Up , 參考這篇)
*. 紅字部分的判斷可加可不加, Malicious Software Removal Tool 在被取代後並不會立刻 Superseded
2017-12-20
Windows 8 / 8.1 / 10 注音輸入法切換問題
Windows 8 以後切換到注音輸入法時, 預設都是 [注音] (ㄅ)
即使將注音輸入法預設鍵盤模式從 [中文模式] 改為 [英數模式]
切換時預設也還是跳為 [注音] (ㄅ)
這個問題相當惱人, 最近找到一個方法, 除了上述這個設定之外
如此一來, 切換到注音輸入法的時候預設就會是 [英數] 而不是注音 (ㄅ)
除此之外還有一個例外
如果是被 UAC 介入的情況下 (無論是否將 UAC 關閉)
程式開啟後仍然是注音輸入法的 [注音] (ㄅ)
即使將注音輸入法預設鍵盤模式從 [中文模式] 改為 [英數模式]
切換時預設也還是跳為 [注音] (ㄅ)
這個問題相當惱人, 最近找到一個方法, 除了上述這個設定之外
還必須加入以下註冊機碼
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"00000404"="00000409"
[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"00000404"="00000409"
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\IME\15.0\IMETC]
"Default Input Mode"="0x00000001"
這個註冊機碼也可以下 Command:
reg add "HKEY_CURRENT_USER\Keyboard Layout\Substitutes" /v 00000404 /t REG_SZ /d 00000409 /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\IME\15.0\IMETC" /v "Default Input Mode" /t REG_SZ /d "0x00000001" /f
如此一來, 切換到注音輸入法的時候預設就會是 [英數] 而不是注音 (ㄅ)
但是, 預設是注音輸入法的 [英數]
必須用 Shift 切換才會變成注音輸入法的 [注音] (ㄅ)
必須用 Shift 切換才會變成注音輸入法的 [注音] (ㄅ)
如果習慣用 Ctrl + Space 切換的人, 用 Ctrl + Space 切換的話仍然是 [英數] 輸入
再 Ctrl + Space 切回來也還是 [英數]
必須用 Shift 切換變成注音輸入法的 [注音] (ㄅ)
之後再用 Ctrl + Space 切換才會是 [英數] / [注音] (ㄅ) 互相切換
而且每個應用程式視窗預設都是如此
對於已經很習慣只用 Ctrl + Space 切換的人來說相當不方便
除此之外還有一個例外
如果是被 UAC 介入的情況下 (無論是否將 UAC 關閉)
程式開啟後仍然是注音輸入法的 [注音] (ㄅ)
如果要強制只使用中文語言:
$LanguageList = Get-WinUserLanguageList
$MarkedLanguage = $LanguageList | where LanguageTag -eq 'en-US'
$LanguageList.Remove($MarkedLanguage)
Set-WinUserLanguageList $LanguageList -Force
2017-12-06
VMWare .vmdk Convert to .vhd / .vhdx
因需要將 VMWare 的 VM 轉到 Hyper-V
祭出 MVMC 3.0 (Microsoft Virtual Machine Converter 3.0)
但因為一些原因只能從 DataStore 直接 Download .vmdk 出來, 不能讓他關機進行 Convert
而直接 Download 下來的 .vmdk 沒有簡單的小程式能直接轉檔
原本微軟有提供一個 Command Line 工具叫 vmdc.exe, 但現在也已經 404 了
查找了一陣子之後發現原來裝好 MVMC 後只要 Import 他的 Module 就能用 PowerShell 來處理了
祭出 MVMC 3.0 (Microsoft Virtual Machine Converter 3.0)
但因為一些原因只能從 DataStore 直接 Download .vmdk 出來, 不能讓他關機進行 Convert
而直接 Download 下來的 .vmdk 沒有簡單的小程式能直接轉檔
原本微軟有提供一個 Command Line 工具叫 vmdc.exe, 但現在也已經 404 了
查找了一陣子之後發現原來裝好 MVMC 後只要 Import 他的 Module 就能用 PowerShell 來處理了
Printer Spooler Service 持續自動停止, 無法列印
日前發生了一件奇怪的事情 (印表機)
Printer 會自己消失不見, 通常遇到這問題第一個要檢查的就是 Printer Spooler Service
但是將他 Start 了之後, 雖然 Printer 會出現, 但是只要對 Printer 做任何動作
Printer Spooler Service 會自己 Stop, Event Log 中只記錄了 Printer Spooler 意外終止, 沒有其他訊息
而 Printer 又會自己消失, 只留下像是 Fax, Microsoft XPS Document Writer 這種 Printer
即使把 Printer 移除, 再重新安裝的時候 Printer Spooler Service 還是會自己 Stop
查了很久查到微軟的這篇文章
並照做刪除了一些機碼之後再 Reboot 就正常了
Printer 會自己消失不見, 通常遇到這問題第一個要檢查的就是 Printer Spooler Service
但是將他 Start 了之後, 雖然 Printer 會出現, 但是只要對 Printer 做任何動作
Printer Spooler Service 會自己 Stop, Event Log 中只記錄了 Printer Spooler 意外終止, 沒有其他訊息
而 Printer 又會自己消失, 只留下像是 Fax, Microsoft XPS Document Writer 這種 Printer
即使把 Printer 移除, 再重新安裝的時候 Printer Spooler Service 還是會自己 Stop
查了很久查到微軟的這篇文章
並照做刪除了一些機碼之後再 Reboot 就正常了
Compact VHD / VHDx
有時候你會發現, Dynamic 的 VHD / VHDx 怎麼 Compact 都還是一樣大
一個 100GB 的 VHD 裡面明明只有 20GB 卻無法縮小
在許多年前我就有發現這個問題並自己摸索找到方法解決
只要進行以下步驟就可以縮小了
一個 100GB 的 VHD 裡面明明只有 20GB 卻無法縮小
在許多年前我就有發現這個問題並自己摸索找到方法解決
只要進行以下步驟就可以縮小了
- 以唯讀模式將 vhd mount 起來
- Compact
- unmount
- 再 Compact 一次
2017-11-06
2017.11 Japan Tokyo
東京使用外語看診醫院(中文、英文)
11/10(五) Day1 渋谷 DisneyStore 買票、迴轉壽司
11/10(五) Day1 渋谷 DisneyStore 買票、迴轉壽司
- 07:00 出發
- 08:00 到機場
- 10:00 桃園機場2航廈 JL0802
- 14:00 到著 成田空港2ビル
2017-09-28
AD User Account 鎖定時的解鎖方式 Lock / Unlock
當 User 密碼輸入錯誤超過 GPO 中設定的次數限制時
AD 會將該 User Account Lockdown 避免被暴力破解等可能的風險
但其實多半的原因都是 User 改密碼後忘記, 或因為有記住的密碼未清除的問題造成
先前都是用微軟官方提供的 這個程式 直接在 DC 上面去處理 Unlock
但最近發現如果在非 DC 上面, 用 Runas 的方式去跑這個程式時
Unlock 選項會是灰色的, 無法進行解鎖
但如果透過 PowerShell 下指令卻又可以解鎖, 揪竟是為什麼真是令人費解
無奈下只好寫了一個 PowerShell Script 來處理這件事情
以下為程式碼, 只要修改最前面的 $Script:SearchDomain 就可以適用於各環境
即使是跨 TrustDomain , 只要有權限都可以用
AD 會將該 User Account Lockdown 避免被暴力破解等可能的風險
但其實多半的原因都是 User 改密碼後忘記, 或因為有記住的密碼未清除的問題造成
先前都是用微軟官方提供的 這個程式 直接在 DC 上面去處理 Unlock
但最近發現如果在非 DC 上面, 用 Runas 的方式去跑這個程式時
Unlock 選項會是灰色的, 無法進行解鎖
但如果透過 PowerShell 下指令卻又可以解鎖, 揪竟是為什麼真是令人費解
無奈下只好寫了一個 PowerShell Script 來處理這件事情
以下為程式碼, 只要修改最前面的 $Script:SearchDomain 就可以適用於各環境
即使是跨 TrustDomain , 只要有權限都可以用
訂閱:
文章 (Atom)