繼續閱讀

2010-10-21

批次建立隨身碟病毒防範資料夾

問題描述:
以往在安裝Windows作業系統時,我都會在各磁碟分割的根目錄手動建立如autorun.inf等資料夾,並移除安全性設定中所有使用者的權限,以『防止病毒利用autorun.inf檔進行交叉感染』。但是這種重複性的動作做久了也會覺得蠻麻煩。因此後來就直接一個批次檔,要用時直接點2下,一次解決繁瑣的步驟。

批次檔內容:
一、移除有問題的檔案

@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   增加防護資料夾或有問題的檔案權限
ECHO ----------------------------------------------------------------
ECHO.
echo Y|cacls
echo y| cacls "C:\autorun.inf" /g administrators:f
echo y| cacls "D:\autorun.inf" /g administrators:f
echo y| cacls "E:\autorun.inf" /g administrators:f
echo y| cacls "F:\autorun.inf" /g administrators:f
echo y| cacls "G:\autorun.inf" /g administrators:f
echo y| cacls "H:\autorun.inf" /g administrators:f
echo y| cacls "I:\autorun.inf" /g administrators:f
echo y| cacls "J:\autorun.inf" /g administrators:f
echo y| cacls "K:\autorun.inf" /g administrators:f

@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   刪除有問題的檔案
ECHO ----------------------------------------------------------------
ECHO.
del /q "C:\autorun.inf"
del /q "D:\autorun.inf"
del /q "E:\autorun.inf"
del /q "F:\autorun.inf"
del /q "G:\autorun.inf"
del /q "H:\autorun.inf"
del /q "I:\autorun.inf"
del /q "J:\autorun.inf"
del /q "K:\autorun.inf"

@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   刪除防護資料夾(解除防護資料夾時用的,非必要)
ECHO ----------------------------------------------------------------
ECHO.
rd /s /q "C:\autorun.inf"
rd /s /q "D:\autorun.inf"
rd /s /q "E:\autorun.inf"
rd /s /q "F:\autorun.inf"
rd /s /q "G:\autorun.inf"
rd /s /q "H:\autorun.inf"
rd /s /q "I:\autorun.inf"
rd /s /q "J:\autorun.inf"
rd /s /q "K:\autorun.inf"


二、建立防範資料夾

@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   建立防護資料夾
ECHO ----------------------------------------------------------------
ECHO.
mkdir "C:\autorun.inf"
mkdir "D:\autorun.inf"
mkdir "E:\autorun.inf"
mkdir "F:\autorun.inf"
mkdir "G:\autorun.inf"
mkdir "H:\autorun.inf"
mkdir "I:\autorun.inf"
mkdir "J:\autorun.inf"
mkdir "K:\autorun.inf"

@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   設定防護資料夾屬性
ECHO ----------------------------------------------------------------
ECHO.
attrib "C:\autorun.inf" +S +H +R
attrib "D:\autorun.inf" +S +H +R
attrib "E:\autorun.inf" +S +H +R
attrib "F:\autorun.inf" +S +H +R
attrib "G:\autorun.inf" +S +H +R
attrib "H:\autorun.inf" +S +H +R
attrib "I:\autorun.inf" +S +H +R
attrib "J:\autorun.inf" +S +H +R
attrib "K:\autorun.inf" +S +H +R


@echo off
ECHO.
ECHO ----------------------------------------------------------------
ECHO   移除防護資料夾權限
ECHO ----------------------------------------------------------------
ECHO.
echo Y|cacls
echo y| cacls "C:\autorun.inf" /d administrator
echo y| cacls "D:\autorun.inf" /d administrator
echo y| cacls "E:\autorun.inf" /d administrator
echo y| cacls "F:\autorun.inf" /d administrator
echo y| cacls "G:\autorun.inf" /d administrator
echo y| cacls "H:\autorun.inf" /d administrator
echo y| cacls "I:\autorun.inf" /d administrator
echo y| cacls "J:\autorun.inf" /d administrator
echo y| cacls "K:\autorun.inf" /d administrator

說明:
01.『移除有問題的檔案』這個步驟是當已經中了隨身碟病毒後,要移除中毒自動產生的'檔案,如果是乾淨的系統不必處理。
02.移除或建立檔案(資料夾)不必挶限在『autorun.inf』,也可依需求增加已知的病毒名稱(含路徑),如ntdelect.com、ntdeIect.com...等。
02.『K:\autorun.inf』其中『K』是指磁碟代號,可依實際需求增減指令行數。(不過一般人應該很少分割那麼多Partition吧)

2010-10-19

讓Local Users以Administrators權限執行程式

問題描述:
一般有網域控管公司通常不會附予使用者Local Administrators權限,以防止User自行安裝軟體。可是偏偏有一些軟體是需要用到Local Administrators權限才可正常運作的。此時其實可以使用『AutoHotkey』軟體,搭配Windows內建的『RunAs』指令來達成讓Local User不知道管理者密碼的情況下,以Administrator權限執行特定程式。

解決步驟:
01.使用『notepad』撰寫如下的Script,並另存為『.ahk』檔。

RunAs,Administrator,密碼
Run, "程式路徑\程式.exe"

02.使用『Ahk2Exe.exe』將Script檔封裝成『.exe』的執行檔。
03.讓User直接執行該建立好的執行檔,即可在不讓User知道Administrator密碼的情況下,使用Administrator權限執行特定程式。

備註:
01.建議將欲執行的程式路徑寫成絕對路徑,並且不允許User刪除,以防止User『貍貓換太子』,將其他軟體改名後放至相對的路徑,利用封裝好的執行檔(Administrators權限)執行該軟體。
02.最好將原程式的icon解出來,在進行封裝時選擇該icon檔。這樣一來,連圖示都和原本的程式一模一樣,User就很難聯想到程式被動過手腳>_<"。
03.該電腦的Local Administrator密碼及程式位置不能變更,一但變更會導致資訊不符,無法執行。

2010-10-18

使用指令查詢及修改Windows使用者權限

問題描述:
我們在變更(授予)使用者在本機的權限時,一般的做法是到『控制台-->系統管理工具-->電腦管理-->本機使用者和群組』或『控制台-->使用者帳戶』處理;但現實情況往往不會是那麼單純。要是當需要變更的數量太多,或者不允許直接操作使用者電腦時呢?此時可以使用Windows內建的指令來達成此目的。

指令說明:

NET LOCALGROUP [groupname] [/add | /delete] [domain\username]


若在『NET LOCALGROUP』之後不加任何群組名稱及參數,會列出該PC所有的群組。
若在『NET LOCALGROUP』之後只接特定群組名稱,則會列出隸屬該群組的所有帳號。
domain\username 若要修改『網域帳號或群組』在本機的權限,前面需加入實際的網域名稱。
/add 增加帳號至特定群組。
/delete 自特定群組刪除某帳號。


進階應用:
假設所有Domain Users在本機都擁有『Administrators』權限,若要將所有Domain Users都降至Local 『Users』權限,可在DC的『NETLOGON』批次檔新增下列的命令,讓User登入網域時自動執行,進到而達到自動變更權限的目的。

net localgroup "Administrators" /delete domain\%username%
net localgroup "Users" /add domain\%username%

備註:
01.第一行指令:移除該Domain User的Local Administrator權限
02第二行指令:將該Domain User加入Local Users群組
03.以上的『domain』套用實際環境的網域名稱

2010-10-14

使用指令變更Windows檔案【資料夾】的屬性及安全性

問題描述:
通常在Windows下變更檔案【資料夾】的屬性或安全性,可直接在該檔案【資料夾】上按滑鼠右鍵再點選內容進去勾選設定。但是,當我們要在多台PC上變更或變更的檔案【資料夾】數量太多時,很明顯不是個好方法。因此我們可以利用Windows內建的指令幫我們大量變更檔案【資料夾】的屬性或安全性。

處理步驟:

一、指令說明
01.變更『屬性』的語法

attrib [+R | -R] [+A | -A ] [+S | -S] [+H | -H] filename [/S [/D]]


filename 顯示該檔案屬性
+ 設定屬性。
- 清除屬性。
R 唯讀檔案屬性。
A 保存檔案屬性。
S 系統檔案屬性。
H 隱藏檔案屬性。[drive:][path][filename]
/S 處理目前的資料夾及所有子資料夾中相符的檔案。
/D 一併處理資料夾(需和/S同時使用)。


02.變更『安全性』的語法

cacls filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
[/P user:perm [...]] [/D user [...]]


filename 顯示該檔案的存取控制(權限)清單。
/T 變更現有的目錄或所有子目錄中的存取控制權限。
/E 只編輯存取控制權限而非取代。
/C 拒絕存取的錯誤繼續發生。
/G user:perm 授與指定的使用者存取權限。
Perm 的值可以是:R(讀取)、C(變更、寫入)、F(完全控制)
/R user 撤銷已指定的使用者存取權限 (需和/E同時使用)
/P user:perm 取代已指定的使用者存取權限。
Perm 的值可以是: N (沒有權限)、R(讀取)、C(變更、寫入)、F(完全控制)
/D user 拒絕已指定的使用者存取。


二、使用批次檔大量變更範例
attrib "C:\123" +S +H +R
attrib "C:\Program Files\Java" +S +H +R
attrib "C:\abc\abc.xls" +S +H +R
attrib "D:\xxx" +S +H +R
attrib "E:" +S +H +R
echo y| cacls "C:\123" /T /E /G users:F
echo y| cacls "C:\Program Files\Java" /T /E /G users:F
echo y| cacls "C:\abc\abc.xls" /T /E /G users:F
echo y| cacls "D:\xxx" /T /E /G users:F
echo y| cacls "E:" /T /E /G users:F

其中,由於cacls無『自動確認』的參數,因此,若要建立bat檔批次執行時,要在指令前新增字串『echo y| 』

2010-10-09

修改Terminal的連線Port

問題描述:
相信有管理過Windows Server的IT都『應該』知道Terminal Serivce預設的Port是3389。有時不得已要對外開放時,一般會建議將它的Port給換掉。

解決步驟:
01.執行『regedit』,進入『登錄編輯程式』。

02.分別到以下路徑,將 PortNumber的值改成想要的數值。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]


03.之後要連線至該Server或PC,只要在Client端軟體的連線位址上加入『:Port』即可

參考資料:
如何變更終端機伺服器的聽候連接埠

2010-10-05

允許一般User登入Telnet Server

問題描述:
Windows 的telnet service預設只允許擁有Administrators或TelnetClients權限的使用者登入,但在Windows中預設又沒有TelnetClients這個群組。因此想要讓非Administrators的使用者登入的話,可以手動建立該群組,並將使用者帳號加入該群組即可。

解決步驟:
方法一:圖形介面操作
到『控制台-->系統管理工具-->電腦管理』,點開『使用者和群組-->群組』,建立名稱為『TelnetClients』的群組,並將使用者帳號加入該群組。


方法二:文字介面操作【無法到該電腦操作時,可使用Administrators權限登入telnet,使用指令的方式新增】
增加 TelnetClient 群組

net localgroup TelnetClients /add


將使用者帳號加入到該群組

net localgroup TelnetClients username /add


查看『TelnetClients』的成員,確認該帳號是否有成功加入

net localgroup TelnetClients