分類
Windows

單一目錄內大量檔案排序

這個是一個很麻煩的狀況, 在 windows 下, 使用 NTFS 的 Filesystem, 單一目錄可以承載的檔案量其實很大(是 2^32 -1 也就是 4294967295, 其實是整個 volume 不是單一目錄, 但這個上限應該在檔案存滿前是不太會到達的), 但是若是要排序檔案大小, 雖然說可以使用 dir /os 的方式來進行, 不過因為數量過大, 所以往往會很久很久, 而且會鎖住 filesystem.

接下來是實務上要將單一目錄下數量很多的檔案進行依大小排序時的作法.

1. 先將檔案列出來, 但不用排序: dir > dir.txt

2. 利用 sort 指令來進行排序: sort dir.txt /+25 > dirsorted.txt

這個 /+25 可以利用 sort /? 來看參數的用法, 其實是 dir 出來的內容, 列舉如下:

其中的第 25欄起是檔案的大小, 依此來排序的指定方式. 而後面的輸出轉向 > 就是用來將排序好的內容再轉存到另外一個檔去.

利用這樣的方式, 可以避免 dir /os 的時間過久, 直接 dir 輸出結果, 再利用 sort 指令來進行排序, 除了可以分開作業外, 還能大幅提高排序的時間, 是比較理想的方式.

當然, 若是檔案數量不多的時候, 是沒什麼差異的, 當檔案數量多的時候, 可是很有用的!

PS: NTFS 單一 volume 下的檔案數量上限:
http://technet.microsoft.com/en-us/library/cc938432.aspx
http://kewang.pixnet.net/blog/post/24972241

分類
Windows

iis7下的appcmd查詢reqeust

在沒有 appcmd 之前, 要像 apache 中的 server-status 中列出目前的 request url 只能利用 resource kit 的 request viewer, 不過在 iis7 中, 可以利用內建指令 appcmd 來查詢.

appcmd 有許多功能, 不過今天介紹的是查詢目前的 request, 先來看看說明文件:

http://technet.microsoft.com/zh-tw/library/cc772200%28v=ws.10%29.aspx

在 appcmd下, 有許多物件可供應用, 其中今天要介紹的就是 request, 不過可以操作的指令只有一個, 就是 list, 想查詢對該物件可用指令可以這樣下(以 site 為例):

>appcmd site /?
管理虛擬站台

APPCMD (command) SITE <identifier> <-parameter1:value1 …>

支援的命令:

list 列出虛擬站台
set 設定虛擬站台
add 新增虛擬站台
delete 刪除虛擬站台
start 啟動虛擬站台
stop 停止虛擬站台

(請使用 /? 取得每個命令的說明,例如 ‘appcmd.exe add site /?’。)

可以使用 list, set … 等多種操作指令, 而查詢目前的 request 則使用:

>appcmd list request
REQUEST “1400000080019834” (url:GET /xxx/xxxxx, time:1047344 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
REQUEST “e20000438002e1fc” (url:GET /xxx/xxxxxx, time:71625 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
….

可以很清楚地看到每個 request 的資訊, 包含 ip 及 url 及目前的狀態, 十分有用.

分類
系統技術

aws終於有自己的route53管理介面了

aws (amazon web service) 終於有自己的 route53 管理介面了(console).

以往要管理 route53, 要嘛就是用 api (http://docs.amazonwebservices.com/Route53/latest/APIReference/), 不然要 ui 的管理介面就得用 3rd party 的 DNS30: http://www.dns30.com/, 對於不熟悉的人來說, 還真的不太方便.

現在 aws 推出了 route53 的管理介面了, 真的可以方便在使用 route53 服務操作上, 利用友善的管理介面, 無論是在新增修改管理上, 都更加的方便了呢!

有在使用的朋友們, 可以快去試看看: https://console.aws.amazon.com/route53/home

分類
Windows

如何取得磁碟分割的叢集大小

一般在格式化磁碟(應該說分割區-partition)時, 有個選項可以設定, 就是叢集大小.

但是指定完成後, 要查詢, 卻不是那麼容易. 可以利用 chkdsk 指定來達成 (http://support.microsoft.com/kb/245436/en-us/), 但是總會需要到檢查一段依磁碟大小愈大而愈久的檢查, 有沒有辦法有更直接的方法?

若是在 NTFS 分割區時, 可以利用指令來達成:

fsutil fsinfo ntfsinfo c:

結果如下:

NTFS Volume Serial Number : 0x3accf140ccf0f74b
Version : 3.1
Number Sectors : 0x0000000009c41ad7
Total Clusters : 0x000000000138835a
Free Clusters : 0x0000000000c9dd73
Total Reserved : 0x0000000000000060
Bytes Per Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 0x0000000008c64000
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x00000000009c41ad
Mft Zone Start : 0x0000000000e2a2c0
Mft Zone End : 0x00000000010926e0

但是這個僅適用於 NTFS, 若是 FAT32 的話呢? 再找看看其他的方式, 可以利用 WMI 來達成, 如下: (以下是 VBScript)

strComputer = "."
strDrive = "c:" 

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colVolumes = objWMIService.ExecQuery("Select * from Win32_Volume Where Name='" & strDrive & "\\'")

For Each objVolume in colVolumes
    errResult = objVolume.DefragAnalysis(blnRecommended, objReport)
    If errResult = 0 then
        Wscript.Echo "Cluster size: " & objReport.ClusterSize
    End If
Next

這個是利用了 WMI , 使用DefragAnalysis 的功能, 來取出磁碟資訊的方式, 其中有 ClusterSize 的屬性(單位是 bytes), 可以做為檢查磁碟 ClusterSize 這個功能. 其中的 strDrive 就是要查詢的磁碟機代碼, 也可以讀取 FAT32 的磁碟分割, 十分方便, 速度也很快.

本文介紹的兩種方式, 可以依實際狀況來使用, 很方便.

參考資料:

微軟KB: http://support.microsoft.com/kb/245436/en-us/

http://www.vistax64.com/powershell/77645-getting-cluster-size-your-hard-disk.html

http://www.activexperts.com/activmonitor/windowsmanagement/scripts/storage/diskdrives/physical/#AVD.htm

http://www.scribd.com/doc/15490968/Windows-Server-Cookbook-by-OReilly-Media (這本書的108頁)

http://msdn.microsoft.com/en-us/library/aa389827%28VS.85%29.aspx

分類
Windows

Outlook Express升級到Live Mail

這篇主要是因為從 Windows XP 升級到 Windows 7 時, 若用戶有用原來的 Outlook Express 也要升到 Windows 7 沒有內建 mail client 的做法.

相信微軟也知道大多數的用戶已經習慣了 Web Mail 這樣好用的工具, 所以在 Vista 中有內建 Windows Mail, 而到了 Windows 7 就沒有 mail client 可用了. 但大家應該有發現, 其實在下載 Live Messenger 時, 就有個 Live Mail 可用, 這個就是 Outlook Express (Windows XP) 升到 Windows Mail (Windows Vista) 之後再升到 Live Mail (Windows 7)的狀況了.

由於這次是 Windows XP 改到 Windows 7, 所以需要從 Outlook Express 中的用戶信件存檔先 copy 出來, 再到重灌好的 Windows 7 (或另一台電腦), 再利用匯入的方式進行即可. 而用戶信件存檔的目錄在哪裡呢? 可以參考這篇: http://support.microsoft.com/kb/977197/zh-tw

另外要再補充的一點, 就是帳戶的部分也是可以由 outlook express 匯出的 *.iaf 檔, 在 Live Mail 中匯入的, 簡單地說, Live Mail 是可以整個承接原來在 Windows XP 下的 Outlook Express 的.

下載 Live Mail 可以到這裡: http://download.live.com/wlmail

分類
Windows

好用工具svchost viewer

偶然在 windows server 上會發現記憶體愈來愈少. 但是又是無法重新開機的狀況, 利用 task manager 會發現有個吃記憶體的怪獸, svchost.exe

這個 svchost.exe 望文生義, 就是個 host 服務的程式, 所以本身並無特別的執行項目, 而必須看他 host 什麼樣的服務, 這裡有個工具, svchost viewer: http://www.codeplex.com/svchostviewer , 就是專門用來看 svchost 的每個服務使用了多少記憶體及服務名稱, 方便在 svchost.exe 吃大量記憶體時, 查找原因所在.

這個 svchost viewer 是專查 svchost.exe 這個 process 的工具, 其實還有另一個功能更強大的工具, process explorer: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx , 這個工具原本是在 sysinternal 這家公司, 早些年因為它的 utility 很豐富, 而且功能又都很強大(看它的名字叫 sysinternal 就能明白), 所以被微軟收購下來. 這個 process explorer 功能更多, 但若是拿來看 svchost 的 process 也能查找對應 svchost viewer 的功能, 但多更多其他的功能就是了.

這篇文章介紹了 svchost viewer 的介面及用法, 可以參考看看: 對一堆正在執行的 svchost.exe 好奇嗎?Svchost Viewer 可以給你答案 http://blog.joaoko.net/archives/1070

利用這樣的工具, 之前 svchost.exe 吃掉了 1g多的記憶體, 原來是 remote register 這個 service 用掉 1.06g 的記憶體, 真是太嚇人了, 停掉該服務後, 果然記憶體就還回來囉, 再次啟動這個服務, 又讓系統有充裕的記憶體可用了.

分類
Windows

微軟的防毒軟體-MSE

Microsoft Security Essentials (MSE), 微軟的防毒軟體, 可以在這裡下載: http://www.microsoft.com/security_essentials/?mkt=zh-tw

這個防毒軟體是微軟自己出的, 所以相對應該可信任防毒的能力或效果應該不差, 而且最重要的是免費. 只要他的病毒碼更新速度夠快, 相信應該是不錯用的.

看看這裡有對這個 MSE 的介紹: http://steachs.com/archives/943

目前支援的作業系統共有以下:

Windows XP 32-bit
Windows Vista/7 32-bit/64-bit

其他的OS目前還沒有, 不過對於 Client OS 來說, 有這套免費的防毒軟體, 而且又是微軟出的, 相信對於 Windows 加分不少.

分類
系統技術

免費SSL申請憑證-StartSSL

在寫作 web application 後, 最後一步就是部署發行了.

不過這端往往會有問題(其實也不是問題)的地方在於自己的網站, 若是要使用 SSL 加密通道, 走 https 通訊協議時, 會需要申請一個 SSL 的憑證.

今天剛好在這裡看到一篇文章: http://blog.s135.com/startssl/ 裡有提到有關免費申請的 SSL 憑證. 這家公司是 startcom, 其網站在: http://www.startssl.com , 提供了線上免費申請 SSL 的憑證, 十分方便而且實用.

其實 SSL 憑證是可以自己簽發的, 在自家網路內部還不成問題, 可以將 CA 加入在公司內的電腦主機上, 但是在公眾網路上, 若是瀏覽器沒有內建的 CA 時, 就會發生不信任警告, 而現在的瀏覽器更是主動直接拒絕連結, 需要使用者自行手動加入信任才行. 對於一般的應用上, 自行簽發的憑證真的不是很方便(雖然一樣可以用, 只是信任度就下降了, 不然何必要第三方公證單位的CA呢). 而一般的申請單位像是 Verisign 也都可以申請, 只是費用就不是市井小民負擔的起的.

好. 廢話不多說, 我們就來申請試看看吧, 首先上 http://www.startssl.com 進行申請, 首先到右上有個門有鑰匙的符號進行申請, 之後出現三個功能, Authenticaion, Sign-up, express line, 時選擇 Sign-up, 填入基本資料後, 就可以利用 email 完成驗證身份的動作了.

接下來就可以在 control panel 上的 Validations Wizard 進行 web ssl 憑證申請囉, 畫面如下:

分類
Windows

真好用的VMWare Import (P2V)

先簡單說明一下, VMWare 相信大家都不陌生, 是個虛擬系統, 也就是可以跑個虛擬環境的軟體, 然而, 從以往的 LAB 應用, 到現在的可供工作的虛擬伺服器, 虛擬化的重要性也日益增加, 不過, 通常是要在安裝作業系統時, 就必須準備好虛擬環境, 再進行安裝, 不過, 後來有個 P2V 的功能, 讓實體主機, 能轉成虛擬主機, 這個 P2V 是得用開機光碟來達成, 讓現有的主機, 利用 P2V 的開機光碟來抓到硬碟, 並且虛擬化. 但問題在於需要重新開機以及影響線上服務, 相信這樣的作法有更好的解決方案.

是的, 現在就要來介紹這個很棒的作法. “線上”在不重開機, 讓來源主機不關機, 可以提供線上服務的狀況下, 進行虛擬化, 這個功能在 VMWare 6.5 版本上有提供(至於之前是否有這個功能, 恕我無法確認, 當然也不是這篇介紹的重點), 接下來看看怎麼實作這個部分.

首先開啟 VMWare Workstation, 並選擇 File -> Import and Export… 如下:
接下來會出現一個精靈畫面, 如下:

下一步之後, 會出現選擇來源, 請選擇 PHYSICAL COMPUTER, 也就是實體主機:

再來就是輸入來源端的主機 IP (或主機名), 對應有管理權限的帳號密碼:

接下來成功連入後, 會詢問要安裝一個 convert agent 到來源主機, 第一項是作業後就移除, 第二個選項則是不要移除, 之後再手動移除, 基本上選第一個比較方便, 即使之後不真的虛擬化, 程式也會將這個 agent 移除的.

再來就是安裝好 agent 後, 會列舉出該主機的所有 disk …
(待續)

[2011/6/21 18:50]
請參考這裡有更完整的操作:
http://www.dotblogs.com.tw/walter/archive/2011/06/19/vmware-p2v.aspx

分類
Windows

裝了windows 7 RC

今天心血來潮來裝了一下 windows 7 RC 的版本, 趕搭一下這個風潮, 之前都是裝在 VM 裡, 今天特別用了老電腦來裝, 所謂老電腦是筆者目前用的電腦的前一台, 原本是要用來當 server 的, 不過已經有兩台了, 所以就暫時 idle 在旁邊.

它的規格其實不差, 不過真的有點舊, 大約配備如下:
P4-2.6G
2G DDR RAM
SATA 80G
NVIDIA FX5700 Ultra 128MB
Gigabyte 8IK1100 主機板 (on board Intel VE NIC 掛了)
3Com 3c905c-TX (NIC)
Sound Blaster Live (on board 不想用)
大略是這樣的配備.

於是開始安裝, 記錄一下時間.
21:58 起開始安裝(開機光碟)
21:59 讀完後 start windows (感覺還蠻快進入 GUI)
開始進行真正安裝, 其中第二步驟最久, 大約是在 22:14左右第一次 reboot.
22:16 左右第二次 reboot. (想說看 20分鐘內能不能完成安裝, 正在期待時, 又再做第三次 reboot )
這次 reboot 就在準備第一次桌面了, 這樣看來應該是勉強算 21分鐘安裝完成, 而且進入 windows 7 了.

不過有趣的來了, 因為之前都安裝在 VM, 驅動程式沒什麼問題, 不過這次比較麻煩, 雖然說 windows 7 內建也不少 drivers, 不過這次安裝在實體主機上, 所以會有一些小問題, 看起來就是顯示卡, 3COM 網卡及 sound blaster live 音效卡未能順利被驅動, 於是先驅動網卡, 使用舊的 driver, 很順利可以被支援, 然後到 nvidia 的網站找 FX5700Ultra driver, 結果 5以下的沒有 windows 7 的 driver, 只好使用 vista 的 driver , 也很順利可用, 而且沒有問題, 不過音效卡就不想去驅動了, 因為也用不到.

接下來就是評比一下, 利用內建功能評分結果為 3.4, 果然還是敗在顯示卡, 如下:

不過其實 CPU 也好不到哪去, 但那個時期已經是很頂級的了(呃.. 硬體就是這樣啦), 不過話說回來, 要好好來試一下跑起來的順暢度, 使用者經驗等, 相信應該很不錯. (因為 Windows Flip 3D之前在 Vista 時, 同樣的環境, 真的不如 Windows 7 的狀況來得順, 看起來應該會好蠻多的)

另外還蠻好用的工具就是這個 “剪取工具” (附屬應用程式中的):

其實就是個截取畫面加可以加註圈選及螢光筆工具的小程式, 而且做得真的是又方便又順手, 對於要說明畫面的操作來說, 真的是很好用, 如下:

其中紅色是手繪圈選, 而螢光黃則是螢光筆功能, 很好用, 一定要去試看看.
——————————————–
[2009/5/17 23:38]
剛才發現這個剪貼工具, 原來是在 Vista 時就有了的, 現在才發現, 真的是太不好意思了. 因為比較常用的系統是 XP, 雖然也有 Vista, 但時間較少, 今天是因為要找個功能時, 進到附屬應用程式時, “赫然”發現, 原來在 Vista 內就已經有了.
——————————————–

另外還有計算機強化版:

神奇的手寫數學符號輸入工具:

整個就是方便, 很開心在 windows 7 內建的多項功能有這麼多方便工具及設計, 相信這會是一個很成功的版本.