2014-11-24

取得電腦安裝軟體清單及基本資訊 Software List V2

先前寫過一篇 取得電腦安裝軟體清單及基本資訊 Software List
但是撈出來的資料很亂, 如今改寫過, 可以正確地抓出 [新增移除程式] 裡面的清單
加上硬體資訊, 然後寫入 SQL 資料庫

以下先將程式全部刊出, 不深入講解用法
InfoSearch.vbs 是掃描資訊的核心程式, 可以修改前面的變數後單獨執行

總之用 RunInfoSearchLoop.vbs 啟動 RunInfoSearch.vbs
一個網段一個 Process, Scan IP 1 - 253
RunInfoSearch.vbs 會將 IP 丟給 InfoSearch.vbs 去執行
我不知道怎麼改 Wbemscripting.SWbemLocator 的 Timeout 時間
所以掃 253 個 IP 約需時 3.5 小時

InfoSearch.vbs 裡面也可以設定 SQL IP及帳號密碼
或是寫成 File 或 echo 在畫面上
自己看一下裡面的變數改一下就行

SoftwareListReport.vbs 是將每一個被安裝的應用軟體被安裝的數量計算出來
另外存一個 Table 的程式
因為我不是 DBA , 所以 SQL 語法不太會用, 用 Join 來 Join 去的
SQL 會耗用大量 CPU 運算才能得到這個數量, 所以先跑一次寫到 Table 裡去
下次要同樣資料時就不用再計算一次

至於前台要怎麼產生報表
我花了一個下午研究以前沒學過的 ASP .Net , 決定放棄
只用 asp 簡單寫一下, 就不提供檔案了, 文末有提供各種資料 Query 的語法
請自行套用, 如果您有更好的寫法拜託您一定要提供給我


2014-09-22

Hyper-V VM Backup 方式, Replica 的替代方案 (自行撰寫 PowerShell 程式)

環境:
 1. 唯一一台 Hyper-V, 無法做複寫或叢集
 2. 只有一座 Hyper-V 叢集, 沒有其他 Hyper-V 主機

描述:
 上述狀況都無法進行 Hyper-V 複寫來作為備份策略
 如果用 Export-VM 的話, 若 VM 的 vhd 很大則會佔用大量 Disk I/O

解決方式:
 自行撰寫 PowerShell 程式, 利用 CheckPoint 功能土砲差異化備份 (與 Replica 雷同)

預設條件:
 VM 本身除了備份 Powershell 所建立的 CheckPoint 外不可以有其他 CheckPoint
 註: Production 環境的 VM 本來就不該有 CheckPoint, 會影響運作效率

程式運作邏輯:
 1. 建立 CheckPoint 使 VM 原始 vhd 停止寫入, 新的變更都會寫在 CheckPoint 所建立的差異磁碟 avhd
  且該 CheckPoint 會將當時的記憶體寫入成檔案, 等於 VM Pause
 2. 將上述 CheckPoint 資料複製出來作為備份, 未來就還原該 CheckPoint, 達到備份還原目的

可達到的目標:
 1. 可進行 VM 線上差異化備份, 不用每次備份都 Export, 佔用大量 I/O
 2. 可以在允許 Down Time 較久的前提下手動做不停機 Migration
  與 Export 後再 Import 是一樣的道理, 只是使用的是差異化磁碟

歷史:
 2014.09.24 加入備份檔案檢查機制
 2014.10.25 1. 程式開始時先檢查備份路徑如果不能存取就結束
         (先嘗試建立, 不能建立就是失敗, 目標如果是網路磁碟機, 可能連線失敗)
        2. 程式開始時先檢查指定的 VM 如果不存在就結束

2014-07-11

DHCP Client Service Error 1068 相依服務或群組無法啟動

DHCP Client Service Error 1068 相依服務或群組無法啟動

1. 確認 afd.sys / tcpip.sys / netbt.sys 檔案完整性, 或直接重建

2. 修改 HKLM Services DHCP 及 TCPIP 的權限, 賦予 Local Service / Network Service 完整權限

*. 詳細解法參考以下:

2014-03-18

Outlook admx 範本中 行事曆 [預設提醒] 功能翻譯的錯誤

在 Outlook 2007 / 2010 / 2013 的 admx 範本中有相同的錯誤
行事曆的 [預設提醒] 功能描述錯誤

其描述為: [預設不要顯示行事曆項目的提醒]
其英文為: [Do not display reminders on Calendar items by default]

如果你以為設定成 [停用] 會強制啟用的話你就錯了

2014-03-11

移除 Skype 上方佔空間的橫幅廣告

1. 打開 IE 瀏覽器 -> 工具 -> 網際網路選項 -> 安全性 -> 限制的網站 -> 點擊 [網站] 按鈕
2. 新增 https://apps.skype.com 網址
3. 關閉 -> 確定 -> 關閉 IE
4. 關閉 Skype (從狀態欄關閉, 如果不知道狀態欄在哪裡, 就是要移除 USB 裝置時的那裡)
5. 重開 Skype 並登入, Skype 會顯示請稍待, 我們正在提升您的使用經驗
6. 過段時間就會進入或跳出, 跳出的話重新登入就可以了
*. 此時再檢查對話視窗上面就沒有廣告了!

2014-03-10

Windows 8 .NET Framework 3.5 Offline Installation

Windows 8 .NET Framework 3.5 Offline Installation

將以下 Code 存成 *.cmd 執行即可離線安裝 .NET Framework 3.5
參考: http://support.microsoft.com/kb/2785188/zh-tw
@echo off&color a
title, [ + OFFLINE INSTALL OF NET 3.5 FRAMEWORK - DOS_PROBIE.2012 + ] 
:: =Windows 8 includes .Net 4.5 by default but not .NET 3.5 =
::NOTE: INSTALLS .NET 3.5 FRAMWORK FEATURE ON DEMAND (FoD) FROM INSTALL DISC.
::NetFx35.cmd

Outlook 離線通訊錄內容變成一堆 "問號" ?

Q: 離線通訊錄內容變成一堆 "問號" ?
A: 離線通訊錄版本問題, 進帳號變更
  1. 檢查通訊錄 ->  [全域通訊清單] 上按右鍵選內容
  2. 記下 [Microsoft Exchange 通訊錄提供者] - [目前的伺服器] 中的路徑
  3. 進 Exchange 帳號變更
  4. 取消勾選 [使用快取 Exchange 模式]
  5. 其他設定
  6. 進階
  7. 離線資料夾檔設定
  8. 停用離線功能
  9. 將步驟二中記下的路徑裡 *.oab 檔案刪除 (不支援 Unicode 的離線通訊錄主檔名是 a 開頭)
  10. 勾選 [使用快取 Exchange 模式]
  11. 下一步
  12. 完成
  13. 重開 Outlook
  14. 傳送接收 -> 下載通訊錄
  15. 重複步驟 1、2 , 至步驟二的路徑中檢查 *.oab 檔名應以 u 開頭 (表示 Unicode)

Outlook 沒有離線通訊錄

Q: 沒有離線通訊錄
A: 通訊錄上: 在 [全域通訊清單] 上按右鍵選內容, 檢查 [Microsoft Exchange 通訊錄提供者] - [目前的伺服器] 應該類似
  %Path%\Offline Address Books\2a833e97-8115-4ce2-93df-a46a00aa93fb\
  去該路徑將 *.oab 全部刪除, 再去 傳送接收 -> 下載通訊錄

Outlook 2003 收到信件變成一堆 "問號" ?

Q: 收到信件變成一堆 "問號" ?
A: 舊的 PST 檔格式 (97-2002 不支援 Unicode
  另建新版本的 Outlook PST 檔就會支援 Unicode
  已經變成問號的信件無法回復, 應盡早改用新版 PST 檔