用PowerShell監控磁碟空間
在伺服器上經常會執行一些程式,這些程式或多或少都會需要將一些執行的過程記錄在log檔中。如果沒有定期去清除這些log檔的話,時間一久伺服器上的磁碟空間就會被用光。 不過,因為是伺服器上的自動排程程式,所以一般人一旦設定好就不再會去管理。久而久之可能就在某一天發生磁碟空間不足,造成程式無法執行的問題。 我想要監控伺服器的磁碟空間的應用程式應該是不少,不過最好的方式當然是能用Windows Server本身內建的功能是最好。 最近微軟提供了PowerShell的指令集工具。這個工具有很多的伺服器管理功能。當然也可以用來監控磁碟空間了。找了一下網路上,果然有人在分享已寫好的 用PowerShell監控磁碟空間的程式碼 。 即然有現成的當然就拿來改一下使用看看囉。 要執行的話,需要在PowerShell的命令列視窗中輸入 .\ 。要加個「.\」。不然,直接打檔名是無法執行的。 如果第一次執行有問題的話,應該也是 安全性的問題 。就要先執行以下的指令: Set-ExecutionPolicy RemoteSigned 如果你的WinServer 2008找不到PowerShell,是因為預設上是沒安裝的,請自行 由伺服器管理員安裝PowerShell 。 如果直接用命令列執行PowerShell指令檔,而不用先進入PowerShell的方式如下: powershell -command "& './CheckQuota.ps1'" 原本的版本中只能寄警告信通知一位管理員,後來我修改了一下,可以讀取一份清單,以便將警告訊息傳給多位管理員。程式碼如下: $computers=(Get-Content CheckComputerList.txt) #單位是MB $WARING='5000000000' $SMTP='email.polaris.com.tw' $TO='justin_Lin@polaris.com.tw;justin1021@gmail.com' $FROM='FMSQLAdmin@polaris.com.tw' $MonitorList=(Get-Content MonitorManager.txt) for...