2009年5月20日 星期三

wmic學習過程2

列出參數
ex: wmic computersystem list full

-----
where的用法

對為別名返回的特定實例使用 WHERE () 子句。
? WHERE() 子句必須包括 WHERE 子句以進行有效的 WQL 查詢。只有複雜的條件才需要括號。請查看 WQL 語法的 WMI SDK。WHERE() 子句必須緊隨在別名之後。例如: process where (processID>300) list brief

? 當 WHERE 子句是 WHERE NAME='' 時,只提供值就足夠了。例如: SERVICE CLIPSRV
代替:
SERVICE WHERE NAME='CLIPSRV'

使用 /OUTPUT、/APPEND 和 /RECORD 命令重定向輸出。
? 以 HTML 格式輸出的命令(如 CLASS)通常將它們的輸出定向到一個文件。然後可以查看該文件,以瞭解命令的結果。可以使用 /OUTPUT、/APPEND 和 /RECORD 命令重定向輸出。

如果值包含特殊字符(短劃線、斜槓或空格),則請用引號將值括起來。
對於大的域或數據庫,請使用以下查詢的方法
? ALIAS
WMIC ALIAS PROCESS LIST BRIEF

? USERACCOUNT
WMIC USERACCOUNT WHERE "Name='PutUserNameHere' and Domain='PutDomainNameHere'"

? FSDIR
WMIC FSDIR WHERE Name='c:\\WINDOWS'

? DATAFILE
WMIC DATAFILE WHERE Name="c:\\boot.ini" WMIC DATAFILE WHERE "PATH='\\windows\\' and Extension='exe' and FileSize>'108032'" GET LastAccessed, LastModified, Name, FileSize

? NTEVENT
WMIC NTEVENT WHERE "LogFile='system' and Type>'0'" GET Message, TimeGenerated WMIC NTEVENT WHERE "LogFile='system' and Type>'0'" GET Message, TimeGenerated /FORMAT:htable >c:\MySystemEvents.htm

? 查詢:
使用引號 "" 將 WHERE 表達式分開,而不用括號 ():
WMIC NTEVENT WHERE "LogFile='system' and Type>'4'"
[ 比較:WMIC NTEVENT WHERE (LogFile='system' and TYPE>4)
在這種情況下,命令行解釋器將曲解 ">4)"
並試圖將輸出重定向到指定文件 "4)" ]

-----
實例:
DESKTOPMONITOR - 監視器管理
::獲取屏幕分辨率
wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidth

DISKDRIVE - 物理磁盤驅動器管理
::獲取物理磁盤型號大小等
wmic DISKDRIVE get Caption,size,InterfaceType

WMIC在批處理的應用實例(轉)
原文章來源地址 http://www.verybat.cn/bbs/bbs/viewthread.php?tid=8188&highlight=

第一次使用WMI會自動安裝,等待數秒即可正常使用。

wmic 獲取硬盤固定分區盤符:
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype=3" get name') do @echo %%i
簡要說明:
wmic + 欲操作的對象名+ where 從句(這是篩選條件)+ get + 對象的屬性
這樣的格式已經可以幫助我們獲取很多東西了,大家可以具體參考
查看wmic對象: wmic /?
查看wmic對象有何可用屬性: wmic 對象名稱 get /? 例如 wmic process get /?
查看wmic對象某個屬性的值: wmic 對象名稱 get 對象某個屬性 例如 wmic process get name
ps: 以上例子中的drivetype的值為2 表示可移動磁盤或軟盤,值為3表示固定磁盤,值為5表示光驅。


wmic 獲取進程名稱、可執行路徑、刪除、創建指定進程
:
wmic 獲取進程名稱以及可執行路徑:
wmic process get name,executablepath

wmic 刪除指定進程(根據進程名稱):
wmic process where name="qq.exe" call terminate
或者用
wmic process where name="qq.exe" delete

wmic 刪除指定進程(根據進程PID):
wmic process where pid="123" delete

wmic 創建新進程
wmic process call create "C:\Program Files\Tencent\QQ\QQ.exe"

其實都很容易上手的,大家多用用就會熟悉這種模式了
詳細信息用 wmic process get /? 查看所有可用的屬性

wmic 操作遠程計算機上的程序

在遠程機器上創建新進程:(2003系統)
wmic /node:192.168.1.10 /user:administrator /password:123456 process call create cmd.exe

關閉本地計算機
wmic process call create shutdown.exe

重啟遠程計算機 (2003系統)
wmic /node:192.168.1.10/user:administrator /password:123456 process call create "shutdown.exe -r -f -m"

wmic 操作計算機名稱和用戶帳戶
更改計算機名稱
wmic computersystem where "caption='%ComputerName%'" call rename newcomputername

更改帳戶名
wmic USERACCOUNT where "name='%UserName%'" call rename newUserName


wmic 結束可疑進程(根據進程的啟動路徑)
wmic process where "name='explorer.exe' and executablepath<>C:\\WINDOWS\\windows\\explorer.exe'" delete

wmic 獲取物理內存
wmic memlogical get TotalPhysicalMemory|find /i /v "t"

wmic 獲取文件的創建、訪問、修改時間 (tvzml糾正)
@echo off
for /f "skip=1 tokens=1,3,5 delims=. " %%a in ('wmic datafile where name^="C:\\WINDOWS\\NOTEPAD.EXE" get CreationDate^,LastAccessed^,LastModified') do set a=%%a & set b=%%b & set c=%%c
echo 文件名稱: %WINDIR%\NOTEPAD.EXE
echo 創建時間: %a:~0,4%年%a:~4,2%月%a:~6,2%日, %a:~8,2%:%a:~10,2%:%a:~12,2%
echo 修改時間: %c:~0,4%年%c:~4,2%月%c:~6,2%日, %c:~8,2%:%c:~10,2%:%c:~12,2%
echo 訪問時間: %b:~0,4%年%b:~4,2%月%b:~6,2%日, %b:~8,2%:%b:~10,2%:%b:~12,2%
pause

wmic 全盤搜索某文件並獲取該文件所在目錄
for /f "skip=1 tokens=1*" %i in ('wmic datafile where "FileName='qq' and extension='exe'" get drive^,path') do (set "qPath=%i%j"&@echo %qPath:~0,-3%)

wmic 獲取屏幕分辨率
wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidth

更改當前頁面文件初始大小和最大值,重啟計算機後生效
wmic PageFileSet set InitialSize="512",MaximumSize="512"

設置虛擬內存到E盤,並刪除C盤下的頁面文件,重啟計算機後生效
wmic PageFileSet create name="E:\\pagefile.sys",InitialSize="1024",MaximumSize="1024"
wmic PageFileSet where "name='C:\\pagefile.sys'" delete

獲得進程當前佔用的內存和最大佔用內存的大小:
wmic process where caption='filename.exe' get WorkingSetSize,PeakWorkingSetSize

wmic學習過程

---
轉自 : http://9527dos.yo2.cn/articles/%E6%88%91%E6%98%AF%E8%BF%99%E6%A0%B7%E5%AD%A6%E4%B9%A0wmic%E7%9A%84.html
---
簡介 : 可以控制遠端電腦的
*帳號密碼設定
*檔案管理(copy del move)
*process管理 (create terminate)
*設定網路 (proxy ip domain)


-----


首先在這裡聲明一下,以下資料都是在我學習WMIC命令積累的一些實例。
如要轉載請標明出處!!!

Datafile 別名

C:\>wmic datafile "c:\\hello.txt" call rename c:\ppp.txt
執行 (\\QL-LIBOWEN\ROOT\CIMV2:CIM_DataFile.Name="c:\\hello.txt")->rename()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

C:\>wmic datafile Where "drive='d:' and extension='txt' and path='\\'" get name
Name
d:\abc.txt
d:\復件 abc.txt

WMIC FSDIR別名

wmic fsdir where(name='c:\\good') delete
wmic fsdir where(name='c:\\good') call delete
刪除c:\good文件夾

wmic fsdir where(name='c:\\good') rename "c:\abb"
重命名c:\good文件夾為abb

複製文件夾

C:\>wmic fsdir where(name='d:\\test') call copy "c:\ppcd"
執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Directory.Name="d:\\test")->copy()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

複製D盤下TEST文件夾的所有文件到C盤下的PPCD,如果PPCD存在直接複製過去,如果不存在他會自動創建並將文件複製過去

C:\>wmic fsdir where(name='d:\\test') call Compress
執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Directory.Name="d:\\test")->Compress()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

壓縮指定文件夾,以便節省磁盤空間

C:\>wmic fsdir where(name='d:\\test') call unCompress
執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Directory.Name="d:\\test")->unCompress()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

解除壓縮文件夾

Job 別名

C:\>wmic job call create "sol.exe",0,0,1,0,********154600.000000+480
執行 (Win32_ScheduledJob)->Create()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
JobId = 1;
ReturnValue = 0;
};

這個命令和AT命令是一模一樣啊,AT添加的計劃任務他可以看到,他添加的同樣AT命令也是可以看到

wmic job call create "sol.exe",0,0,true,false,********154800.000000+480
wmic job call create "sol.exe",0,0,1,0,********154600.000000+480

這兩句是相同的,TRUE可以用1表示,同樣的FALSE可以用0值表示,時間前為何用八個星號,這是WMIC的特性,他顯示時間的方式是YYYYMMDDHHMMSS.MMMMMM+時區 ,可是,我們並不需要指定年份和月份還有天,所以用*星號來替代

Os 別名

wmic os Where (primary='1') call win32shutdown *

這個*參數可以有如下值:

Const LOGOFF=0

Const SHUTDOWN=1

Const REBOOT=2

Const FORCE=4

Const POWEROFF=8

這些參數可以進行任意組合,例如:

強制註銷:4 (0+4)的組合
強制關機:5 (1+4)的組合
強制重啟:6 (2+4)的組合
強制關閉電源:12 (8+4)的組合

WMIC設置系統時間

要求需要有管理員權限

wmic os where(primary=1) call setdatetime 20070731144642.555555+480

執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_OperatingSystem.Name="Microsoft Windows XP P
rofessional|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1")->setdatetime()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

Process 別名

C:\>wmic process call create sol.exe
執行 (Win32_Process)->Create()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ProcessId = 3848;
ReturnValue = 0;
};

C:\>wmic process 3848 call terminate
執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Process.Handle="3848")->terminate()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

可以看出PROCESS別名是以HANDLE屬性為默認屬性進行操作的

C:\>wmic process 2556 call setpriority 64
執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Process.Handle="2556")->setpriority()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

用來設置程序的優先權

64 Idle 優先權--低
16384 Below Normal 優先權--低於標準
32 Normal 優先權--標準
32768 Above Normal 優先權--高於標準
128 High Priority 優先權--高
256 Real Time 優先權--實時

wmic process Where "processid='%pid%'" call Terminate

wmic process Where "name='%imagename%'" call Terminate

wmic path Win32_Process.name="%imagename%" call Terminate

wmic path Win32_Process.processid="%pid%" call Terminate

wmic process Where name='sol.exe' delete

Nicconfig 別名

wmic nicconfig where(index='8') call enablestatic "192.168.1.81","255.255.255.0"   
設置IP地址和子網掩碼

wmic nicconfig where(index='8') call setgateways "192.168.0.1",1          
設置網關和躍點數

wmic nicconfig where(index='8') call setdnsdomain ("192.168.0.1","192.168.0.11")  
設置DNS服務器地址,設置完畢後不會馬上生效,必需要設置主次才可以生效

wmic nicconfig where(index='8') call SetDNSServerSearchOrder ("192.168.0.1","192.168.0.11") 
設置DNS服務器地址的主次順序,192.168.0.1在前表示為首選DNS地址,在後為備用DNS地址

wmic path Win32_NetworkAdapterConfiguration.index=8 call enabledhcp

WMIC默認的NICCONFIG別名是不提供enabledhcp這個方法的,所以我們只能調用他的WMI函數來設置動態分配IP地址的設置

wmic nicconfig where(index='8') get /value  INDEX值為你當前網卡的索引值,每台機器都不一樣

以下為網絡方面設置的各個屬性值:

ArpAlwaysSourceRoute=
ArpUseEtherSNAP=
Caption=[00000008] Broadcom 440x 10/100 Integrated Controller
DatabasePath=%SystemRoot%\System32\drivers\etc
DeadGWDetectEnabled=
DefaultIPGateway={"192.168.0.1"}
DefaultTOS=
DefaultTTL=
Description=Broadcom 440x 10/100 Integrated Controller - 數據包計劃程序微型端口
DHCPEnabled=FALSE
DHCPLeaseExpires=
DHCPLeaseObtained=
DHCPServer=
DNSDomain=("192.168.0.1","192.168.0.11")
DNSDomainSuffixSearchOrder=
DNSEnabledForWINSResolution=FALSE
DNSHostName=ql-libowen
DNSServerSearchOrder={"192.168.0.1","192.168.0.11"}
DomainDNSRegistrationEnabled=FALSE
ForwardBufferMemory=
FullDNSRegistrationEnabled=TRUE
GatewayCostMetric={1}
IGMPLevel=
Index=8
IPAddress={"192.168.0.81"}
IPConnectionMetric=20
IPEnabled=TRUE
IPFilterSecurityEnabled=FALSE
IPPortSecurityEnabled=
IPSecPermitIPProtocols={"0"}
IPSecPermitTCPPorts={"0"}
IPSecPermitUDPPorts={"0"}
IPSubnet={"255.255.255.0"}
IPUseZeroBroadcast=
IPXAddress=
IPXEnabled=FALSE
IPXFrameType=
IPXMediaType=
IPXNetworkNumber=
IPXVirtualNetNumber=
KeepAliveInterval=
KeepAliveTime=
MACAddress=00:0F:1F:4F:08:A0
MTU=
NumForwardPackets=
PMTUBHDetectEnabled=
PMTUDiscoveryEnabled=
ServiceName=bcm4sbxp
SettingID={B97AA60A-483E-4C84-84FE-5A3C6A875B65}
TcpipNetbiosOptions=0
TcpMaxConnectRetransmissions=
TcpMaxDataRetransmissions=
TcpNumConnections=
TcpUseRFC1122UrgentPointer=
TcpWindowSize=
WINSEnableLMHostsLookup=TRUE
WINSHostLookupFile=
WINSPrimaryServer=
WINSScopeID=
WINSSecondaryServer=

WMIC對註冊表的操作

C:\>wmic /namespace:\\root\default path stdregprov call getstringvalue ^&H80000002,"SOFTWARE\libowen","hello"

執行 (stdregprov)->getstringvalue()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
sValue = "I am Computer Pepole!!!";
};

C:\>wmic /namespace:\\root\default path stdregprov call createkey ^&h80000001,"libowen\good"

----建立libowen\good 這個鍵值

執行 (stdregprov)->createkey()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

C:\>wmic /namespace:\\root\default path stdregprov call deletekey ^&h80000001,"libowen\sdd"  

---刪除鍵值SDD,注意此鍵值必須是最底層

執行 (stdregprov)->deletekey()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

C:\>wmic /namespace:\\root\default path stdregprov call EnumKey ^&h80000001,"Keyboard Layout"

-----枚舉Keyboard Layout下的所有子鍵值

執行 (stdregprov)->EnumKey()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
sNames = {"preload", "Substitutes", "Toggle"};
};

C:\>wmic /namespace:\\root\default path stdregprov call Enumvalues ^&h80000001,"Keyboard Layout\preload"

--------枚舉Keyboard Layout\preload這個鍵值下的所有數值及其數值所對應的類型

執行 (stdregprov)->Enumvalues()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
sNames = {"1", "2", "3"};
Types = {1, 1, 1};
};

C:\>wmic /namespace:\\root\default path stdregprov call SetStringValue ^&h80000001,"libowen\test","hello world!","test"

------建立一個名為test的string的數值,值為hello world!

執行 (stdregprov)->SetStringValue()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

C:\>wmic /namespace:\\root\default path stdregprov call SetStringValue ^&h80000001,"libowen\test","test","aabb"

-----修改aabb的數值為test

執行 (stdregprov)->SetStringValue()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

REG_SZ (1)
REG_EXPAND_SZ (2)
REG_BINARY (3)
REG_DWORD (4)
REG_MULTI_SZ (7)

HKEY_CLASSES_ROOT (0x80000000)
HKEY_CURRENT_USER (0x80000001)
HKEY_LOCAL_MACHINE (0x80000002)
HKEY_USERS (0x80000003)
HKEY_CURRENT_CONFIG (0x80000005)
HKEY_DYN_DATA (0x80000006)

Pagefileset 別名

C:\>wmic pagefileset get /value

Caption=C:\ 'pagefile.sys'
Description='pagefile.sys' @ C:\
InitialSize=384
MaximumSize=768
Name=C:\pagefile.sys
SettingID=pagefile.sys @ C:

用來察看本地計算機虛擬內存情況,初始大小,最大值,保存位置等

下面我們可以改變虛擬內存文件(也就是我們常說的頁面文件) 所在位置以及初始大小和最大值

wmic pagefileset set initialsize=512,maximumsize=1024
這個只是改變初始大小和最大值,SET不能修改頁面文件所存放的位置,也就是說默認頁面文件在C盤這時不能把他的位置修改到D盤,如果要修改到D盤我們可以這樣來做

wmic pagefileset create name='d:\pagefile.sys',initialsize=512,maximumsize=1024

然後刪除以前的就可以了,請看

wmic pagefileset where(name='c:\\pagefile.sys') delete

這樣就實現了把頁面文件轉移到D盤的效果

WMIC設置代理服務器

C:\>wmic path win32_proxy get /value

Caption=
Description=
ProxyPortNumber=
ProxyServer=:
ServerName=ql-libowen.ql-art.com
SettingID=

C:\>wmic path win32_proxy Where ServerName='ql-libowen.ql-art.com' call setproxysetting "8080","192.168.1.59"

執行 (\\QL-LIBOWEN\root\cimv2:Win32_Proxy.ServerName="ql-libowen.ql-art.com")->s
etproxysetting()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

C:\>wmic path win32_proxy.servername="ql-libowen.ql-art.com" call setproxysetting "",""
執行 (\\QL-LIBOWEN\root\cimv2:Win32_Proxy.ServerName="ql-libowen.ql-art.com")->s
etproxysetting()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

WMIC 設置共享

輸入參數是 OBJECT 類型
原因:對於 OBJECT 類型的輸入參數,還沒有實現全面支持。默認值(空字符串:"")是目前支持的唯一值。

解決方案:使用下面的命令為三個用戶設置 c:\test 目錄的共享:

WMIC SHARE CALL Create "","test","3","TestShareName","","c:\test",0

建立共享文件夾

C:\>WMIC SHARE where(path='c:\\test') call delete

執行 (\\QL-LIBOWEN\ROOT\CIMV2:Win32_Share.Name="TestShareName")->delete()
方法執行成功。
輸出參數:
instance of __PARAMETERS
{
ReturnValue = 0;
};

WMIC對於共享文件夾操作

C:\>WMIC SHARE where(path='c:\\test') delete
刪除範例 \\QL-LIBOWEN\ROOT\CIMV2:Win32_Share.Name="TestShareName"
範例刪除成功。

Type (共享類型)

Type of resource being shared. Types include: disk drives, print queues, interprocess communications (IPC), and general devices.

Value Meaning

0-----Disk Drive
1-----Print Queue
2-----Device
3-----IPC
2147483648----Disk Drive Admin
2147483649----Print Queue Admin
2147483650----Device Admin
2147483651----IPC Admin

Computersystem 別名

wmic computersystem Where "name='原計算機名稱'" call rename "要修改的計算機名"

主要功能:修改計算機名稱

wmic computersystem Where "name='計算機名稱'" call joindomainorworkgroup "","","MyGroup"

主要功能:更改現有工作組為指定的工作組

wmic computersystem Where "name='計算機名稱' call UnjoinDomainOrWorkgroup

主要功能:退出所在域

wmic computersystem Where "name='計算機名稱'" call joindomainorworkgroup "",1,"域名稱","域管理員密碼","域管理員用戶名"

例如:想要加入到的域名稱為QLART ,域管理員用戶名應該為 administrator@ql-art.com 或qlart\administrator 密碼為:XXXXXX

Useraccount 別名

C:\>wmic useraccount where(LocalAccount='1' and name='good') set disabled=true

更新 '\\QL-LIBOWEN\ROOT\CIMV2:Win32_UserAccount.Domain="QL-LIBOWEN",Name="good"'
的屬性
屬性更新成功。

C:\>wmic useraccount where(LocalAccount='1' and name='good') set fullname="hello world!"

更新 '\\QL-LIBOWEN\ROOT\CIMV2:Win32_UserAccount.Domain="QL-LIBOWEN",Name="good"'
的屬性
屬性更新成功。

C:\>wmic useraccount where(localaccount=true and name='good') set passwordchangeable=true

更新 '\\QL-LIBOWEN\ROOT\CIMV2:Win32_UserAccount.Domain="QL-LIBOWEN",Name="good"'
的屬性
屬性更新成功。

C:\>wmic useraccount Where "domain='ql-libowen' and name='libowen'" set PasswordExpires=false

更新 '\\QL-LIBOWEN\ROOT\CIMV2:Win32_UserAccount.Domain="QL-LIBOWEN",Name="libowe
n"' 的屬性
屬性更新成功。

windows 網管常用指令

Useful commands
for Windows administrators

Managing a Windows 2000 Active Directory with about 100 servers, over 1500 computers and 35 sites, the following commands often helped me answer questions or solve problems.
Most commands are "one-liners", but for some I had to make an exception and go to the right directory first.

These commands could all be used in batch files, though some may need some "parsing" with FOR /F to retrieve only the required substrings from the displayed information.

Notes: (1) Commands that use external, or third party, or non-native utilities contain hyperlinks to these utilities' download sites.
(2) Replace command arguments displayed in italics with your own values.
(3) Commands or utilities that require Windows Server 2003 are marked bright blue.
Warning: Most commands on this page are very powerful tools.
Like most powerful tools they could cause a lot of damage in the hands of insufficiently skilled users.
Treat these commands like you would (or should) treat a chainsaw: with utmost care. Do not use them if you do not fully understand what they do or how they do it.
Any damage caused using these commands is completely your own responsibility.



How many users are logged on/connected to a server (and who are they)?
Who is logged on to a computer?
What is this collegue's login name?
What is the full name for this login name?
What groups is this user a member of?
What permissions does a user have on this directory?
When did someone last change his password?
How do I reset someone's password?
Is someone's account locked?
How to unlock a locked account
List all domains and workgroups in the network
List all computers in the network
List all domain controllers
Find the primary domain controller
List all member servers
List all workstations
Delete a computer account
"I need an up-to-date list of disk space usage for all servers, on my desk in 5 minutes"
Inventory drivers on any PC
List all local administrators


Related links


How many users are logged on/connected to a server?

Sometimes we may need to know how many users are logged on to a (file) server, like maybe when there is a performance degradation.
At the server's console itself, with native commands only:
NET SESSION | FIND /C "\\"

Remotely, with the help of SysInternals' PSTools:
PSEXEC \\servername NET SESSION | FIND /C "\\"

By replacing FIND /C "\\" by FIND "\\" (removing the /C switch) you'll get a list of logged on users instead of just the number of users.



Back to the index


Who is logged on to a computer?

We often need to know who is currently logged on to a remote computer.
With native Windows commands only:
NBTSTAT -a remotecomputer | FIND "<03>" | FIND /I /V "remotecomputer"

The first name in the list usually is the logged on user (try playing with the NET NAME command to learn more about the names displayed by NBTSTAT).
This is the fastest way to find the logged on user name, and the results that you do get are correct, but NBTSTAT won't always return a user name, even when a user is logged on.

Using WMIC (Windows XP Professional and later):
WMIC /Node:remotecomputer ComputerSystem Get UserName

This is arguably the most reliable (native) command to find out who is logged on.

With the help of SysInternals' PSTools:
PSLOGGEDON -L \\remotecomputer

or:
PSEXEC \\remotecomputer NET CONFIG WORKSTATION | FIND /I " name "

or:
PSEXEC \\remotecomputer NET NAME

or:
PSEXEC \\remotecomputer NETSH DIAG SHOW COMPUTER /V | FIND /i "username"

or:
FOR /F %%A IN ('REG Query \\remotecomputer\HKU ˆ| FINDSTR /R /B /C:"HKEY_USERS\\S-1-5-[0-9][0-9]-[0-9-]*$"') DO (
FOR /F "tokens=3 delims=\" %%B IN ('REG Query "\\remotecomputer\%%A\Volatile Environment"') DO (
SET LoggedinUser=%%B
)
)

NETSH and WMIC are for XP or later, and are the most reliable of all commands shown here.
WMIC requires WMI enabled remote computers and Windows XP on the administrator's computer; NETSH requires Windows XP on the remote computers.

PSLOGGEDON is a more accurate solution than NBTSTAT, but it will return the last logged on user if no one is currently logged on.

The NET and NBTSTAT commands show more or less identical results, but the NBTSTAT command is much faster.

The REG command is accurate, but may need to be modified depending on the version used. As displayed here, the code is written for REG.EXE 3.0 (XP).

If you want to search lots of computers for logged on users, I recommend you try NBTSTAT first (fast, but it won't always return the user name!), and only switch to NETSH, REG or WMIC (accurate) if NBTSTAT doesn't return a user name.

Credits: Jiří Janyška (WMIC command) and Matthew W. Helton (NETSH command).



Back to the index


What is this collegue's login name?

My collegues often forget to mention their logon account name when calling the helpdesk, and the helpdesk doesn't always ask either. I suppose they expect me to know all 1500+ accounts by heart.
With (native) Windows Server 2003 commands only:
DSQUERY USER -name *lastname* | DSGET USER -samid -displayNote: Windows Server 2003's "DSTools" will work fine in Windows 2000 and XP too, when copied.
Keep in mind, however, that some Windows Server 2003 Active Directory functionality is not available in Windows 2000 Active Directories.




Back to the index


What is the full name for this login name?

With the native NET command:
NET USER loginname /DOMAIN | FIND /I " name "

With (native) Windows Server 2003 commands:
DSQUERY USER -samid *loginname* | DSGET USER -samid -displayNote: The NET command may seem more universal, because it requires neither Active Directory nor Windows Server 2003 commands, but it is language dependent!
For non-English Windows you may need to modify FIND's search string.




Back to the index


What groups is this user a member of?

In Windows NT 4 and later, users usually are members of global groups. These global groups in turn are members of (domain) local groups. Access permissions are given to (domain) local groups.
To check if a user has access to a resource, we need to check group membership recursively.
With (native) Windows Server 2003 commands:
DSQUERY USER -samid loginname | DSGET USER -memberof -expand



Back to the index


What permissions does a user have on this directory?

One could use the previous command to check what permissions a user has on a certain directory.
However, sometimes SHOWACLS from the Window Server 2003 Resource Kit Tools is a better alternative:
CD /D d:\directory2check
SHOWACLS /U:domain\userid



Back to the index


When did someone last change his password?

With the native NET command:
NET USER loginname /DOMAIN | FIND /I "Password last set"



Back to the index


How do I reset someone's password?

With the native NET command:
NET USER loginname newpassword /DOMAIN

With (native) Windows Server 2003 commands:
DSQUERY USER -samid loginname | DSMOD USER -pwd newpasswordNote: To prevent the new password from being displayed on screen replace it with an asterisk (*); you will then be prompted (twice) to type the new password "blindly".




Back to the index


Is someone's account locked?

With the native NET command:
NET USER loginname /DOMAIN | FIND /I "Account active"

The account is either locked ("Locked") or active ("Yes").



Back to the index


How to unlock a locked account

With the native NET command:
NET USER loginname /DOMAIN /ACTIVE:YES

or, if the password needs to be reset as well:
NET USER loginname newpassword /DOMAIN /ACTIVE:YES



Back to the index


List all domains and workgroups in the network

With the native NET command:
NET VIEW /DOMAIN



Back to the index


List all computers in the network

With the native NET command:
NET VIEW

or, to list the names only:
FOR /F "skip=3 delims=\ " %%A IN ('NET VIEW') DO ECHO.%%A

delims is a backslash, followed by a tab and a space.



Back to the index


List all domain controllers

With native Windows 2000 commands:
NETDOM QUERY /D:MyDomain DC

NETDOM is part of the support tools found in the \SUPPORT directory of the Windows 2000 installation CDROM.

With (native) Windows Server 2003 commands (Active Directory only):
DSQUERY Server

or, if you prefer host names only (tip by Jim Christian Flatin):
DSQUERY Server -o rdn



Back to the index


Find the primary domain controller

With native Windows 2000 commands:
NETDOM QUERY /D:MyDomain PDC

or, to find the FSMO with (native) Windows Server 2003 commands (Active Directory only):
NETDOM QUERY /D:mydomain.com FSMO

NETDOM is part of the support tools found in the \SUPPORT directory of the Windows 2000 installation CDROM.



Back to the index


List all member servers

With native Windows 2000 commands:
NETDOM QUERY /D:MyDomain SERVER

NETDOM is part of the support tools found in the \SUPPORT directory of the Windows 2000 installation CDROM.



Back to the index


List all workstations

With native Windows 2000 commands:
NETDOM QUERY /D:MyDomain WORKSTATION

NETDOM is part of the support tools found in the \SUPPORT directory of the Windows 2000 installation CDROM.



Back to the index


Delete a computer account

With native Windows 2000 commands:
NETDOM /DOMAIN:MyDomain MEMBER \\computer2Bdeleted /DELETE

NETDOM is part of the support tools found in the \SUPPORT directory of the Windows 2000 installation CDROM.



Back to the index


"I need an up-to-date list of disk space usage for all servers, on my desk in 5 minutes"

Sounds familiar?

With (native) Windows XP Professional or Windows Server 2003 commands:
FOR /F %%A IN (servers.txt) DO (
WMIC /Node:%%A LogicalDisk Where DriveType="3" Get DeviceID,FileSystem,FreeSpace,Size /Format:csv | MORE /E +2 >> SRVSPACE.CSV
)

The only prerequisites are:
SRVSPACE.CSV should not exist or be empty,
a list of server names in a file named SERVERS.TXT, one server name on each line,
and WMIC.EXE, which is native in Windows XP Professional, Windows Server 2003 and Vista.

The CSV file format is ServerName,DeviceID,FileSystem,FreeSpace,Size (one line for each harddisk partition on each server).

If you have a strict server naming convention, SERVERS.TXT itself can be generated with the NET command:
FOR /F "delims=\ " %%A IN ('NET VIEW ^| FINDSTR /R /B /C:"\\\\SRV\-"') DO (>>SERVERS.TXT ECHO.%%A)Notes: (1) assuming server names start with "SRV-"; modify to match your own naming convention.
(2) delims is a backslash, followed by a tab and a space.




Back to the index


Inventory drivers on any PC

With (native) Windows XP Professional or Windows Server 2003 commands:
DRIVERQUERY /V /FO CSV > %ComputerName%.csv

Or, for remote computers:
DRIVERQUERY /S remote_PC /V /FO CSV > remote_PC.csv



Back to the index


List all local administrators

With (native) Windows NT 4+ commands:
NET LOCALGROUP Administrators

Or, to remove header and footer lines:

FOR /F "delims=[]" %%A IN ('NET LOCALGROUP Administrators ˆ| FIND /N "----"') DO SET HeaderLines=%%A
FOR /F "tokens=*" %%A IN ('NET LOCALGROUP Administrators') DO SET FooterLine=%%A
NET LOCALGROUP Administrators | MORE /E +%HeaderLines% | FIND /V "%FooterLine%"

windows 的各項服務(service)

1.Alerter

 Alerter(警示器)服務的行程名是Services.exe(即啟動這個服務後在後台執行的行程的名稱,可以通過工作管理器看到)。

Alerter服務的功能是,WinXP將系統上發生的與管理有關的事件以警示(Alert)訊息傳送至網路上指定 的電腦或用戶,例如當發生列印錯誤或硬碟即將寫滿等事件,這類警示訊息由XP的警示器服務(Alerter Service)收集、送出。
 
 儘管Alerter依存的服務並沒有Messenger(信使)服務,但Alerter服務必須依賴後者才能送出訊息,故在啟動Alerter服務後還必須確定Messenger服務也是在工作中,而接收的電腦也必須啟動Messenger服務。


由於A lerter服務執行後,服務使用戶可以傳送彈出(Pop-up)訊息給其他用戶,這些訊息有可能被攻擊者用來實施攻擊,如誘騙用戶修改密碼等,從而造成安全隱患。


同時該服務使得用戶帳號名洩漏,也有可能被攻擊者利用來進行密碼猜測攻擊。所以對於家庭單機用戶,甚至對於絕大多數小型的區域網路來說,這個功能是完全可 禁用的,不僅節省了系統資源和加快啟動速度,也提高了機器的安全性。
 
 2.Application Layer Gateway Service

 簡稱「ALG」(套用層網路閘道),其行程名是alg.exe,WinXP Home/PRO預設安裝的啟動檔案類型為手動。


ALG又被稱為代理伺服器(Proxy Server),是網路防火牆從功能面上分類的一種。


當內部電腦與外部主機連結時,將由代理伺服器(Proxy Server)擔任內部電腦與外部主機的連結中繼者。使用ALG的好處是隱藏內部主機的位址和防止外部不正常的連接,如果代理伺服器上未安裝針對該應用程式設計的代理程序時,任何屬於這個網路服務的封包將完全無法通過防火牆。


通俗點說,具體到ALG本身 ,它就是WinXP附帶的Internet連接@享/防火牆的具體控管程序,如果你需要啟用這二者,這個服務是必備的。


當然,只有一台電腦的上網家庭可以考慮禁用這個服務,不過筆者個人覺得WinXP內裝的防火牆效果還是不錯的,如果不是堅持要使用第三方的防火牆,還是建議開著它吧。
 
 3.Application Management

 AppMgmt(應用程式管理服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,沒有任何依存服務關係。


從Win2000開始微軟引入了一種關於MSI文件格式(應用程式安裝訊息程序包文件)的全新、有效軟體管理方案——即應用程式管理元件服務(Application Management),它不僅管理軟體的安裝、移除,而且可使用此項服務修改、修復現有應用程式,監視文件復原並通過復原排除基本故障等。


通常這個服務我們保持其預設狀態較好。
 
 可能許多朋友都有印象,當年ACDSee 4.0剛發怖時,由於安裝製作上的考慮不周,並沒有考慮到那個時候大多數人的系統還並不支持MSI安裝格式,結果只得又去下載安裝一個名為Windows Installer的MSI輔助文件才解決問題。



通常以MSI文件格式安裝的軟體十分好認,比如說Office XP,當你安裝後再次執行軟體的安裝程序時,它一般會有「重新安裝」、「修復軟體」、「卸載軟體」等多個選項,而不是以前安裝程序那種就簡單的卸載或覆蓋安裝了事。
 
 4.Automatic Updates

 Wuauserv(自動更新服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,沒有任何依存服務關係。這個是大家都非常熟悉的系統自動更新功能,就不多說了。


用魔電上網上網而深受其苦的朋友記得在系統內容中關閉是不夠的,還要將Automatic Updates這個服務禁用才可以。

以後需要更新的話,直接到在IE中按鍵輸入Windows Update 網站位址手動更新即可。
 
 5.Background Intelligent Transfer Service

 BITS(後台智能傳輸服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call、Workstation服務。微軟宣稱BITS能夠利用剩餘的帶寬傳輸文件,當網路切斷或電腦需重啟時,後台智能傳輸服務會自動對文件傳輸加以維護,當網路重新連接時,後台智能傳輸服務將繼續從停止的地方繼續開始傳輸文件。



其實這個服務原是用 來實現HTTP 1.1伺服器之間的訊息傳輸,基本上它的套用也就是支持Windows自動更新時的斷點續傳。如果你禁用了Automatic Updates,留著它基本上也沒有什麼意義。
 
 6.ClipBook

 ClipSrv(記事本檢視器服務)的行程名是clipsrv.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴Network DDE服務。ClipBook通過Network DDE和Network DDE DSDM提供的網路動態資料交換服務,可查閱遠端機器中的記事本,通俗的說就是ClipBook支持記事本檢視器(ClipBook Viewer)程序,該程序可允許剪貼頁被遠端電腦上的ClipBook瀏覽。
 
 例如有個較大的文件工程,由A、B、C共同開發,A負責Excel資料部分,B負責Visio製圖部分,而C負責將兩部分文件的整合。


C經常需要對A、B的資料進行拷貝,愚蠢的做法是C開啟A、B在網路鄰居上共享的文件,然後將相關內容拷貝。而對Win dows體系有一定瞭解的用戶應該聽說過OLE這個東西,上面說的EXCEL資料和Visio製圖都可以認為是獨立的OLE對象,如果A、B、C的3台電腦上的Clipbook服務都為開啟,就可利用ClipBook共享這些OLE對象,C只要在自己的文檔中建立OLE對象的連接指向A、B的Excel和Visio,A、B對自己工作的任何改動即可在C的復合文件裡自動體現。由此可見,ClipBook是關於對象的共享,而非簡單的文件共享。


所以也很好理解,這是一把雙刃劍,在帶來極大方便的同時,也帶來 被非法遠端訪問ClipBook剪貼頁面的安全隱患。對於沒有上述類似工作,又不準備使用或極少使用遠端桌面的用戶,這個服務完全可以禁用,在需要的時候再開啟。
 
 7.COM+ Event System

 EventSystem(COM+事件系統服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call服務。對於非軟體開發專業的朋友來說,COM+是個非常難理解的名詞。簡單的說COM+是一種軟體構件/元件的標準。


比如寫一個軟體好比是蓋一座房子。而門窗等設備會根據標準設計,以求得省時省力,COM元件即是Windows的門窗等標準元件了,COM+是對COM的進一步增強,其具體含義在此就不詳細介紹了,Windows系統又是個典型的消息(事件)處理型系統,很多功能都是由消息來觸發的,這就產生了COM+ Event System。


我們要學習的是如何簡單判斷自己的系統中是否有程序依靠此服務。檢查你的系統安裝碟下的「Program files\ComPlus Applications 」目錄,如果沒有東西就可以把這個服務關閉了。
 
 8.COM+ System Application

 COMSysApp(COM+系統套用服務)的行程名是Dllhost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call服務。簡單的說,COM+ System Application是COM+ Event System的具體執行者,如果禁用了COM+ Event System也就自然禁用它。
 
 9.Computer Browser

 Browser(電腦瀏覽器服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是自動,依賴Server和Workstation服務。Browser服務維護著一個網路資源的清單,其中包括關於Windows的域、工作組和電腦,還有其他支持NetBIOS傳輸協定的網路設備,我們在「網路芳鄰」上看到顯示 的內容正是來源於此。


顯然對於一般家庭用的電腦這個服務並不需要,除非電腦位於區域網路之上,例如用長城寬瀕的朋友,用它可方便地知道社區內的網路環境。這個服務還是慎重對待較好,若不是太在意還是將其設定成自動吧。
 
 10.Cryptographic services

 CryptSvc(認證服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,依賴Remote Procedure Call服務。CryptSvc是整個微軟公鑰體系(PKI,Public Key Infrastructure)的核心元件。


所謂的PK是一種公匙加密法,通過加密來保證資料的安全和傳送,它與傳統的秘密(對稱)鑰匙密碼法不相同,PK密碼法的基本特性是加密和解密的鑰匙不同,每一個用戶兩把鑰匙,一把公開密匙,一把私匙。

撇開這些難 以一下子理解的術語,具體到CryptSvc本身來說,如果我們在WinXP中使用Automatic Updates自動更新,或在Internet上使用證書進行身份驗證以及正確管理這些證書等,那麼這個服務就不要關閉。


其中這個功能最有用的是,當你安裝一個驅動程式時,以確定它是不是通過微軟認證的。因為驅動程式在操作系統內可以獲得很高的執行權限,含有惡意程式碼的驅動程式會讓你玩完,因而開發驅動程式的廠家一般都會去做微軟認證,通過驗證後,微軟會在裡面增加它的認證資料,再到你電腦上安裝時就可以通過CryptSvc檢測昇級。
 
 11.DHCP Client

 Dhcp(DHCP客戶端服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,依賴AFD Networking Support Environment、NetBIOS over TCP/IP以及TCP/IP Protocol Driver服務。


簡單的說DHCP程序就是由網路中一台主機(DHCP Server)將所有的網路參數自動分配給網路內的任何一台電腦,而DHCP Client就是網路中被分配網路參數的對象電腦了。


如果能在網路中被自動分配IP位址等網路參數,那麼這個DHCP Client服務就必不可少。

對於家庭單機用戶來說,只要是使用DSL/Cable上網、開啟ICS和IPSEC服務的人都需要這個來指定靜態IP,所以通常這個服務是不關閉的,除非你的機器是完全的單機套用環境。
 
 12.Distributed Link Tracking Client

 TrkWks(分佈式連結追蹤客戶端服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,依賴Remote Procedure Call服務。


對於電腦有一定瞭解的人對於「分佈式」這個詞並不陌生,這裡就不作解釋。


TrkWks服務簡單說,就是將整個網路中分散於各台電腦上互相有連接的NTFS文件看作一個整體,相當於一台電腦上的文件系統,所以當系統內發生文件移動,就會記 錄這個訊息。

它是針對「域用戶」的「NTFS文件」的「分佈式連接」,這3個條件缺一個你就用不上它,對於不在區域網路的單機用戶來說,當然是禁用它。
 
 13.Distributed Transaction coordinator

 MSDTC(分佈式交易協調器)的行程名是Msdtc.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call和Security Accounts Manager服務。MSDTC主要用來處理分佈式交易,所謂分佈式交易,就是跨越兩個或多個資料庫的單一SQL Server內部的交易。同一資料庫內不同資料表間的交易,則不能稱作分佈式交易。


顯然對於需要同時處理多個資料庫或文件系統的用戶來說,這個服務意義重大,但它也是通常意義上一般用戶不會使用到的服務,通常來預設手動啟動就好了,其實這個服務也容易受到 遠端拒絕服務攻擊,禁用它也沒有問題,而且更安全。
 
 14.DNS Client

 Dnscache(DNS客戶端服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,依賴TCP/IP Protocol Driver服務。DNS(Domain Name System)也是一般的名詞了,簡單的解釋就是當使用網頁瀏覽器去上網時,會按鍵輸入網站的網址,而這些網址名稱在英特網上就是透過網域名稱伺服器(DNS伺服器)來完成名稱轉換為IP位址的解釋。


實際上一些網站並不是只有一台伺服器在工作,而是有多台服務器在同時工作,也就是說同樣一個網站名稱位址可對應不同的IP位址(在Win2000以前的操作系統可執行此查詢)。但如果將操作系統換到Win2000 或XP,同樣的網站你又會發現總是查到同一個IP位址。為什麼會這樣呢?這就是DNS Client服務的作用。
 
 為了要達到用最快速、最有效率的方式,讓客戶端能夠迅速找到網域的驗證服務,在Win2000/XP系統中,加入了DNS快取(快取)的功能,當第一次在找到了目的主機的IP位址後,操作系統就會將所查詢到的名稱及IP位址記錄在本地機的DNS快取緩衝區中,下次客戶端還需要再查詢時,就不需要到DNS 伺服器上查詢,而直接使用本地機DNS 快取中的資料即可,所以你查詢的結果始終是同一IP位址。


這個服務關閉與否影響並不大,在安全性上最多只是可以洩漏你的快取內容,確定你曾經訪問過的網站。
 
 15.Error Reporting Service

 ERSvc(錯誤報告服務)的行程名是Svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,依賴Remote Procedure Call服務。這個服務我們經常碰到,當使用程式出錯時會跳出對話視窗,問你是否需要向微軟傳送報告,就是這個服務的功能。

此服務完全可設定為手動或禁止。如果你想對錯誤報告進行更詳細的設定,可以右鍵按下「我的電腦」圖示,選項「內容」,在「進階選擇項」 下點擊「錯誤報告」按鈕,在那裡你可以決定是否傳送錯誤報告以及傳送怎樣的錯誤報告。

而對於沒有上網的用戶就可直接禁用此服務了,上網用戶如果擔心報告會向微軟透漏你的私人訊息(當然微軟保證不會發生這種事情),也大可禁用它。
 
 16.Event Log

 Eventlog(系統日誌紀錄服務)的行程名是Services.exe,WinXP Home/Pro預設安裝的啟動檔案類型為自動,沒有服務依存關係。


Event Log服務負責記錄來自系統和執行中程序的管理事件消息,為Windows和應用程式提供了一個標準而集中的方法來記錄重要的軟體和硬體事件。開啟事件檢視器 的方法是依次開啟「開始→控制台」,然後選項開啟「系統管理工具→事件檢視器 」。這個服務是基礎服務 ,無法調整關閉。
 
 17.Fast User Switching Compatibility

 Fast User Switching Compatibility(多用戶快速切換服務)的行程名是svchost.exe,WinXP Home/Pro預設安裝的啟動檔案類型是手動,依賴Terminal Services服務。此服務是WinXP的新技術,即快速的多用戶切換環境。


解決了以前的多用戶環境雖然安全但是切換始用者環境需要重新啟動,並丟失掉上一用戶工作環境的問題。


使用很簡單,只要進行「開始→註銷→切換始用者」操作即可方便地切換始用者環境,是非 常不錯的多用戶技術,如果用不著多用戶環境就不用開啟它(加入域後預設不能進行快速切換,當然可禁用)。
 
 18.FAX Service

 FAX(傳真服務)的行程名是Fxssvc.exe,WinXP Home/Pro中預設是沒有安裝的,依賴Plug and Play、Print Spooler、Remote Procedure Call、Telephony服務。


FAX服務在預設情況下是沒有安裝的,但如果你安裝了它就可以進行「開始→所有程式→附件→通訊→傳真」操作,使用WinXP內裝的傳真服務來收發傳真了,當然你要保證你的機器至少還保留了一隻魔電上網。不需要的人就禁用吧 。
 
 19.Help and Support

 Helpsvc(說明 服務)的行程名是Svchost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型為自動,依賴Remote Procedure Call服務。這個服務用於支持WinXP說明及支援中心的功能,如果你剛開始使用WinXP,這個說明中心能解決不少問題,如果你覺得不需要它了,那就禁用吧。
 
 20.Human Interface Device Access

 HidServ(人性化接頭裝置服務)的行程名是Svchost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型是禁用,依賴Remote Procedure Call服務。


這個服務簡單說就是支持那些所謂的帶有多媒體功能智能鍵盤,比如音量調節。當然你有符合人體工程學標準的設備(主要指鍵盤和滑鼠),那麼這個服務就設定為自動,否則這些設備的一些功能將不能正常使用。而如果你沒有這類設備或者你的設備有自己 的驅動,即可禁用此服務。
 
 21.IMAPI CD-Burning COM Service

 ImapiService(IMAPI CD燒錄服務)的行程名是Imapi.exe,WinXP Home/Pro中預設安裝的啟動檔案類型是手動,沒有任何的服務依存關係。


這個就是WinXP內裝的CD燒錄服務了,雜誌2003年第12期對此有過較詳細的介紹。總的來說該服務的功能和效能十分有限,有燒錄機的朋友還是安裝成熟的第三方燒錄軟體,關閉這個服務吧。
 
 22.Indexing Service

 Cisvc(索引服務)的行程名是Cisvc.exe,WinXP Home/Pro中預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call服務。


這個服務可為本機和遠端電腦上的文件編製索引,也就是說像圖書館裡為圖書編製的查詢索引一樣,這樣可加快尋找文件的速度。

開啟此項服務對個人用戶而言有一個很大的說明 ,就是文件瀏覽速度(即雙按某資料夾後的等待時間)會明顯增加,因為系統 已將目錄結構讀入了記憶體,需要時會直接使用。


但此服務啟用後某此情況會導致系統極度繁忙,通過工作管理器,可看見Cidaemon.exe這個行程佔用了大部分CPU資源。因此對待這個不成熟的服務請根據自己機器的情況設為「自動」或「禁用」。


 23.Internet Connection Firewall/Internet Connection Sharing

 SharedAccess(Internet連接共享和防火牆服務)的行程名是Svchost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型分別是手動和自動,依賴Application Layer Gateway Service、Network Connections、Network Location Awareness、Remote Access Connection Manager服務。

這個服務提供WinXP內裝的Internet連接共享和防火牆功能。


筆者比較喜歡這兩個功能,效能都不錯而且方便,具體關閉與否看個人喜好,不用就可以關閉它。
 
 24.IPSEC Services

 PolicyAgent(IP安全原則服務)的行程名是Lsass.exe,WinXP Home/Pro中預設安裝的啟動檔案類型為自動,依賴IPSEC driver、Remote Procedure Call、TCP/IP Protocol Driver服務。


IPSEC是一種用來保護內部網、專用網路以及外部網(Internet、Extranet)免遭攻擊的重要防禦方法,主要特徵在於它可對所有IP級的通信進行加密和認證,正是這一點才使IPSEC可以確保包括遠端登入、客戶/伺服器、電子郵件、文件傳輸及Web訪問在內的多種應用程式的安全。由於企業及政府用戶非常注重於佈署安全的IP,所以這一服務顯得很重要。


同時也可以看到,對於絕大多數用戶來說,這是個根本就不用關心的東西。所以禁用它吧。
 
 25.Logical Disk Manager

 Dmserver(邏輯磁牒管理員服務)的行程名是Svchost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型分別是手動和自動,依賴Plug and Play、Remote Procedure Call服務。Dmserver用來動態管理磁牒,如顯示磁牒可用空間和使用Microsoft Management Console(MMC)主控台中的磁牒管理功能。


這個服務對於經常使用移動硬碟、USB碟等外設的朋友來說必不可少,沒有的話可選項禁用它。
 
 26.Logical Disk Manager Administrative Service

 Dmadmin(邏輯磁牒管理系統管理服務)的行程名是Svchost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型分別是手動和自動,依賴Logical Disk Manager、Plug and Play、Remote Procedure Call服務。Dmadmin主要用來組態硬碟訊息,平時基本上沒用。


開啟「電腦管理」(Microsoft Management Console,簡稱MMC)時,你可以看到「磁牒管理」,這時就會用上它,可設為手動。
 
 27.Messenger

 Messenger(信使服務)的行程名是Services.exe,WinXP Home/Pro中預設安裝的啟動檔案類型為自動,依賴NetBIOS Interface、Plug and Play、Remote Procedure Call、Workstation服務。


Messenger這個服務上過網的人都應該比較熟悉,本來Microsoft開發「信使服務」是為了方便同一域中的管理員進行訊息交流,後來有些人開發了突破域限制的信使傳送工具,於是大家掛在網上時,電腦上經常會彈出一個名為「信使服務」的對話視窗,這些不請自到的「信使」基本上是一些垃圾信使訊息,有無聊的廣告,有非法的訊息等。


通常這些訊息是用一些名為「凶寶寶信使」、「妖刺」的軟體發怖的,但實際上如果是在同一域中,只需要用NET SEND指令就可以輕易傳送消息了。



突然出現的「信使服務」不僅會干擾工作,影響心情,而且還容易遭到「社會工程」攻擊,所以禁用它吧。
 
 28.MS Software Shadow Copy Provider

 SwPrv(管理磁牒區磁碟區影複製服務)的行程名是dllhost.exe,WinXP Home/Pro中預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call服務。


這個服務是為WinXP中的MS Backup製作備份程序提供支持,奇怪的是即使關掉它我的製作備份工作也可以順利完成,用不著的話就禁用它吧。
 
 29.Net Logon

 Netlogon(網域登入服務)的行程名是lsass.exe,WinXP Home/Pro中預設安裝的啟動檔案類型分別是手動和自動,依賴Workstation服務。



這個服務是用來做網域審查的。當你的電腦處在一個域網內時,如果要使用網內的域伺服器登入到域網時,就要通過它來登入了。一般用戶用不著,禁用即可。
 
 30.NetMeeting Remote Desktop Sharing

 Mnmsrvc(NetMeeting遠端桌面共享服務)的行程名是Mnmsrvc.exe,WinXP Home/Pro中預設安裝的啟動檔案類型是手動,依賴Remote Procedure Call服務。

使用NetMeeting可透過公司內部網路,讓使用者將電腦的控制權分享給區域網路上或英特網上的其他使用者,很多人都因為安全問題關掉它,而且它很占網路資源。


但如果你想和別人做些非文字的交流,還是比較好玩的。注意關掉它後,遠端桌面 共享功能將無法使用。

 31.Network Connections

 Netman(網路連接服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。Netman也是非常重要的基礎服務,它管理著「網路和撥號連接」資料夾中的所有對象,任何有關於網路上(區域網路、Internet)的連接都需要這個服務。


如果被禁用,在「網路和撥號連接」資料夾中將什麼都看不到,更不用說新增連接和撥號 上網了。因此除非你的機器是絕對的單機環境,才可將其關閉。

 32.Network DDE

 NetDDE(網路動態資料交換服務)的行程名是netdde.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Network DDE DSDM服務。


NetDDE(Network Dynamic Data Exchange)是微軟早期設計的一種方法,可讓應用程式在不同PC上的Windows之間交換動態資料,現在已經很少使用。


實際上在WinXP中,真正使用它的只有ClipBook服務,回顧上一期中提到的3人共同開發文件,通過ClipBook來交 換動態資料的例子就可以很好理解這個服務的作用了。


資料共享服務通常是經過可信任的溝通渠道,負責管理這項服務的是網路DDE代理(Network DDE Agent),實際上網路DDE代理會使機器非常容易遭受攻擊而失去本地機的管理員控制權。因此如果無需ClipBook共享這個特殊服務,不妨禁用。

 33.Network DDE DSDM

 NetDDE dsdm(網路動態資料交換網路共享服務)的行程名是netdde.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,它不依賴於其他服務。

如果此服務終止,Network DDE服務將不可用,實際上如果不用Network DDE,那麼Network DDE DSDM也禁用好了。

 34.Network Location Awareness

 NLA(網路位置識別服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於AFD網路支持環境和TCP/IP Protocol Driver服務,而ICF/ICS服務依賴於它。

NLA可以探測網路系統的相關資訊,當這些訊息發生變化時通知相關的應用程式。基本上,這個服務主要針對的對象是筆記型電腦。

因為在實際工作和生活中,人們的筆記型電腦常常在超過一個以上的網路環境中套用。


經常可能遇到在一個網路中需要使用動態IP位址,而在另一網路中需要使用靜態IP位址的問題。比如說你在辦公室裡使用的是動態IP,而在家裡卻使用靜態IP來連接寬瀕,那麼NLA就可讓你在家裡及服務機構網路(有線)之間切換時自動辨認出不同網路環境,從而自動選項合適的組態而無需重新調整網路參數。對於經常移動辦公的人,這確實是個不錯的功能。

 35.NT LM Security Support Provider

 NtLmSsp(NT LM安全性支持提供者服務)的行程名是lsass.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,它不依賴於其他服務。


NT LM的意思即NT LanManger,是NT下提供的認證方法之一,使用了64位的加密手段。NtLmSsp這個服務主要針對RPC(遠端程序使用),通常RPC可以選項關於兩種通信方式,一種是傳輸傳輸協定,比如TCP/IP、UDP、IPX等,另一種為命名管道(Pipeline)。



通常情況下Windows預設選項都是傳輸傳輸協定,而由於RPC是採用非加密傳輸的,通信資料安全無法得到保證,而NtLmSsp就可向這一類RPC提供安全服務。


WinXP中已知的這類RP C套用就是Telnet服務(Telnet也依賴於NtLmSsp),因此無需Telnet服務的單機用戶可將NtLmSsp其關閉。

 36.Performance Logs and Alerts

 SysmonLog(效能記錄日誌及警示服務)的行程名是smlogsvc.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,它沒有任何服務依存關係。

如果開啟控制台的系統管理工具,可以看到有「效能」這個工具,它較詳細地反映了系統的效能,但組態起來相當複雜,不好上手,而且大多數人也會認為這個效能工具沒什麼意義。

 SysmonLog就是為它提供日誌記錄的服務。如果你對自己機器的工作狀態比較在意,這絕對是一個值得研究的工具,因為它可以嚴格監視硬碟、記憶體、CPU甚至於軟體在系統中的執行,並通過記錄下的日誌資料分析機器軟硬體資源的具體情況。


更有用的是,如果你比較瞭解計數器這個參數的設定,就可為各部分資源設定合適的計數器值,一旦服務監視到資源的效能值超過或是低於此值,就會通過Messenger服務發出警告,如此很容易就能覺察到機器的某部分資源不足(如若昇級電腦就可先從這裡考慮)或發生了故障等。當然,並不關心自己機器具體工作的用戶也可將其關閉。

 37.Plug and Play

 PlugPlay(即插即用服務)的行程名是services.exe,WinXP Home/PRO預設安裝的啟動檔案類型是自動,它不依賴於任何服務。這個服務想必大家相當熟悉,從Win98開始這個技術就始終是微軟操作系統的核心部分。


即插即用是Intel開發的一組規範,它賦予了電腦自動檢測和組態設備並安裝相應驅動程式的能力,當有設備被更改時能自動通知當前設備的狀況並使用該設備變更後的程序。PlugPlay是WinXP的幾個基礎服務之一,在服務系統管理工具中無法調整它,而且如果本服務一旦失敗就只有重新啟動機器了。

 38.Portable Media Serial Number Service

 WmdmPmSp(便攜的媒體序號服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是自動,它沒有任何服務依存關係。


這個服務其實非常簡單,它是微軟用來防盜版的工具之一,但目前基本上只是針對音樂。微軟用它獲得你系統中媒體播放器的序列號,做什麼用呢?

其實它是在試圖控制你將盜版的音樂檔案拷貝到類似MP3、 MD等便攜播放器上。儘管微軟聲稱關掉這個服務會影響將正版音樂下載到便攜播放器,但筆者還是關掉這個服務,一是影響並不大,至少手上的正版CD拷貝到 MP3是沒有問題的,二是微軟也刺探得太多了吧,我們用什麼還都得報告它?

 39.Print Spooler

 Spooler(列印後台處理服務)的行程名是spoolsv.exe,WinXP Home/PRO預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call。


Spooler是為了提高文件列印效率,將多個請求列印的文件統一進行儲存和管理,先將要列印的檔案拷貝到記憶體,待列印機空閒後,再將資料送往列印機處理。這樣處理速度更快些。建議將其設定為手動,有列印工作時再開啟。


如果沒有列印機自然是禁用 了。

 40.Protected Storage

 ProtectedStorage(受保護存放區服務)的行程名是lsass.exe,WinXP Home/PRO預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call。


這一服務提供對敏感性資料保護的功能,比如密碼、證書等,但通常它只針對Windows自身的敏感資料進行保護,可用來儲存你電腦上的密碼。通常上網的用戶都比較喜歡開這個服務,畢竟像自動填表這些功能給人帶來不少方便。



但如果你的電腦是多用 戶環境,或是使用筆記型電腦,經常移動辦公,那麼這個服務就要謹慎使用了。



有不少密碼破解軟體就是針對這個ProtectedStorage的,比較有名的有Protected Storage PassView,用它可以輕易得到被儲存在ProtectedStorage中你曾經上過的論壇的帳號密碼、撥號密碼等。因此,對於這個服務要視使用環境而定,在不安全的環境下還是關閉較好。
更多詳情,請參考下面連結:



TOP
wei7649


高級會員


UID
20133
帖子
3463
精華
162
積分
36483
金幣
33679
威望
613
閱讀權限
77


個人空間
發短消息
加為好友
當前離線 2樓



發表於 2007-11-2 20:27 只看該作者

 41.QoS RSVP

 RSVP(QoS 許可控制服務)的行程名是rsvp.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於AFD Networking Support Environment、Remote Procedure Call、TCP/IP Protocol Driver服務。這就是微軟那個飽受爭議的佔用了20%網路帶寬的服務了。對大多數朋友來說,關掉它是簡單正確的選項。


但是要理解這個服務究竟是幹什麼的就不這麼簡單了。QoS這個詞的意思是服務品質(Quality of Service),而RSVP這個詞的意思是資源預留傳輸協定(ReSerVation Protocol)。

 隨著IP技術和網路的發展,世界各國的運營商關於IP網路已開發出多種多樣的新業務。由於目前關於儲存於轉發機制的Internet(IPv4標準)只為用戶提供了「盡力而為(best-effort)」的服務,不能保證資料包傳輸的既時性、完整性以及到達的順序性,更無法保障既時多媒體業務服務品質(QoS),所以主要套用在文件傳送和電子郵件服務。


而隨著Internet的飛速發展,人們對於在Internet上傳輸多媒體訊息的需求 越來越大,這就要求網路應能根據用戶的要求分配和調度資源,傳統的「盡力而為」轉發機制已不能滿足用戶的要求。



為解決這一問題,美國於1996年底開始了以提高網路服務品質研究為核心的InternetⅡ以及NGI(下一代Internet)等研究項目。相關的權威組織IETF(Internet Engineering Task Force)也成立了專門的工作小組來研究多媒體服務品質的定義和相關標準。


IETF在IP網路的QoS方面提出了多種服務模型和機制,其中的綜合業務模型(Int-Serv)引入了一個重要的網路控制傳輸協定RSVP(資源預留傳輸協定),這一模型的思想是「為了給特定的客戶包流提供特殊的QoS,要求路由器必須能夠預留資源。反過來要求路由器中有特定流的狀態訊息」。


所以可以看出,這一模型能提供絕對有保證的QoS,是以 預留下的資源作為代價的,對資源的要求實際上是更高的。


因此,對於WinXP中的QoS RSVP服務保留了20%的網路帶寬也就不足為奇了,由於對於個人套用幾乎毫無意義,禁用它是不二選項。


 42.Remote Access Auto Connection Manager

 RasAuto(遠端訪問自動聯機管理員服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Remote Access Connection Manager、Telephony服務。

RasAuto主要針對寬瀕使用,當有網路連接請求時它會自動開啟網路連接,我們在使用WinXP時會經常彈出一個自動撥號視窗,就是它在工作。如果你的機器提供網路共享服務就開著它,避免網路斷線後手動連接,否 則可將其關閉。

 43.Remote Access Connection Manager

 RasMan(遠端訪問聯機管理員服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Telephony服務,其簡單描述是「新增網路連接」,這個解釋簡單明瞭,所以根據自己系統的情況來使用這個服務即可。

 44.Remote Desktop Help Session Manager

 RDSessMgr(遠端桌面協助服務)的行程名是sessmgr.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。


這是與NetMeeting Remote Desktop Sharing很類似的一個服務。滑鼠點擊「開始→所有程式→附件→通訊→遠端桌面連接」可開遠端桌面功能,而RDSessMgr就是為它提供支持。微軟的原意是通過它做遠端說明 ,其代價是犧牲安全與4MB記憶體的佔用,不需要時一定得關閉。

 45.Remote Procedure Call

 RpcSs(遠端程序使用服務)的行程名是svchost.exe,WinXP Home/PRO預設安裝的啟動檔案類型是自動。太多服務依賴於這一服務了,最近「衝擊波」橫行,恐怕大家都對RPC有此印象了吧,它原名遠端行程使用,是早期IBM、SUN等公司定義的功能級通信傳輸協定,隨後被微軟採納,但作了改動,稱之為MRPC。


總的來說RPC是一種消息傳送功能,上一期說過Windows系統是個典型的消息(事件)處理型系統,所以RPC對於系統的重要性不言而喻。由於Windows內部結構已相當複雜了,很難搞清楚哪些模組在用RPC哪些不用,事實上你只要關掉它,系統就可能崩潰。所以這個服務 也是不可禁用的。

 46.Remote Procedure Call(RPC)Locator

 RpcLocator(遠端程序使用定位服務)的行程名是locator.exe,WinXP Home/PRO預設安裝的啟動檔案類型是手動,依賴於Workstation服務。這一服務和上面的RPC服務並無太多關係,是用來給RPC的命名服務的。


其用途簡單解釋就是,通過它對RPC的命名管理,使用者才能找到被使用者的位置。但由於微軟系統註冊表的存在,使 得這些命名服務在本地機上的使用上毫無意義。因此對於一般用戶完全可以關閉。

 47.Remote Registry

 RemoteRegistry(遠端註冊表服務)的行程名是svchost.exe,在WinXP Home下不可用,在WinXP PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。


此服務是向其他連機的電腦開放你的註冊表,微軟總是讓這種明顯是安全隱患的服務自動啟動實在讓人費解。不過如果你有這種特殊需求的話可以嘗試一下。開啟註冊表編輯器Regedit,在文件表單欄裡找到「連接網路註冊表」這一項,可讓你開啟甚至編輯其他電腦上的註冊表。當然那些電腦上的RemoteRegistry也必須是開啟的,而且對你電腦的一些相應權限同樣必須開放。

 48.Removable Storage

 NtmsSvc(卸除式存放裝置服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。此服務的名稱太容易讓人誤解,實際上它只是對特殊可移動儲存於器的管理,比如ZIP軟式磁碟機和磁帶驅動器,不要擔心你的CD和DVD等設備。從事圖像設計的用戶經常會用ZIP同蘋果機交換文件,一般人恐怕很少使用這些特殊設備,因此可將其關閉。

 49.Routing and Remote Access

 RemoteAccess(路由和遠端訪問服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型分別為禁用和手動,依賴於NetBIOSGroup、Remote Procedure Call服務。

Routing and Remote Access為軟路由,即在一台連接多個網路的電腦上通過執行路由軟體,以實現網路間路由的一種方法,相對於硬體路由來說很是方便經濟。WinXP也把這個功能整合到系統裡來了,不過可能比較少人知道是在哪裡組態路由,主要原因就是這個服務預設為關閉。


首先啟動此服務,網路連接資料夾裡會多出一個「傳入的連接」,值得注意的是,在VPN連接(傳入的連接)的內容「Internet傳輸協定(TCP/IP)」裡一般要指定TCP/IP位址(一般來說都必須是合法位址)才行。感興趣的朋友可以自己繼續研究,而大多數不需要的朋友直接禁用它吧。

 50.Secondary Logon

 Seclogon(二次登入服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,沒有任何服務依存關係。這個服務對應於用戶臨時權限分配功能,在多用戶使用的電腦上,某些用戶因為是非管理員權限,導致某些程序無法執行。


為了讓沒有管理員權限的已經登入用戶可以使用這些程序,WinXP設計了這個功能來分配臨時的管理員權限。開啟這個服務後,右鍵點擊滑鼠選項「執行方式」將會出現對話視窗,讓你選項執行這個程序的用戶身份。對多用戶環境下的管理員,這確實是方便的功能,不過依然是以安全作為代價的,對單人環境的筆記型電腦用戶來說尤其無用而且危險!所 以要謹慎使用。

 51.Security Accounts Manager

 SamSs(安全賬戶管理服務)的行程名是lsass.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。

熟悉WinXP啟動程序的用戶都知道SAM文件的重要性,SamSs是負責SAM資料庫的控制和維護的服務。SAM資料庫位於註冊表「HKLM\SAM\ SAM」下,可使用Regedit32.exe開啟註冊表編輯器,並設定適當權限檢視S AM中的內容。SAM資料庫儲存在磁牒上的「系統碟\windows\system32\config」目錄下的sam文件中,在這個目錄下還包括一個 security文件,是安全資料庫的內容,兩者有不少關係。SAM資料庫中包含了系統中所有組、賬戶的 訊息。


而WinXP啟動時就需要在SAM文件中讀取諸如用戶名、用戶全名(full name)、所屬組、描述、密碼、註釋、是否可以更改密碼、密碼設定時間等訊息。這也是系統中不可關閉的幾個基礎服務之一,如果服務啟動失敗,系統就只有重啟了。

 52.Server

 Lanmanserver(伺服器服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動。Server服務對應的是網路上的文件/列印機器共享,以及網路的路徑映射共享功能。沒有這些方面的需要你就可以關閉它。

 53.Shell Hardware Detection

 ShellHWDetection(外殼硬體探測服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。

對這個服務微軟是語焉不詳,也沒有指出詳細的硬體描述或列表,不過根據網路上不少人的測試,這個服務主要還是和具有自動執行(播放)功能的硬體有關係,例如數位相機、CD-ROM等。通過這個服務,當這些硬體接上系統或放入相應媒介時,WinXP能自動探測到並做出對應動作。對於外設越來越多的現在,沒有把握還是不要輕易關閉它。

 54.Smart Card

 SCardSvr(智能卡服務)的行程名是SCardSvr.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Plug and Play服務。



Smart Card(智能卡)其外型和一般信用卡大小一樣,但多了一塊指甲大小的IC晶片後,使原本普通的一張卡片變成擁有資料控管與邏輯運算的能力。智能卡包括金融卡、GSM卡等,與我們一般常用的電話IC卡相比,內部的IC線路設計不同。


由於卡內本身即已包含了 CPU功能、ROM、EEPROM、RAM等元件,智能卡就像一台可隨身攜帶的超微型電腦,可用來儲存及處理重要資料。在安全性方面,智能卡具有自我毀滅系統,想竊取卡上的資料非常困難。如果你擁有智能卡及相關的讀卡設備就開啟這個服務,否則就禁用吧。

 55.Smart Card Helper

 SCardDrv(智能卡協助服務)的行程名是SCardSvr.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,它沒有任何服務依存關係。只要沒有相關的設備就禁用好了。

 56.SSDP Discovery Service

 SSDPSRV(簡易服務發現傳輸協定之發現服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動。

SSDPSRV主要用於區域網路上UPnP(Universal Plug and Play,統一即插即用)設備的搜尋。

UPnP並不同於我們平常熟悉的PnP,UPnP技術PnP對進行了增強,簡化了家庭或企業中智能設備的 連網程序。

UPnP規範關於TCP/IP傳輸協定和針對設備彼此間通信而制訂的其他Internet傳輸協定,這就是它之所以被稱作「通用」的原因所在-——UPnP技術不依賴於特定的設備驅動程式,而是使用標準傳輸協定。

與即插即用相比,這種技術的意義在於,能夠輕易地使家庭等非專業用戶享受到智能化技術帶來的更舒適完美的生活,例如,正是UPnP才使得能在網上衝浪的電冰箱成為可能。


UPnP是個較新的協 議,也不是非常成熟,對應設備在市場上非常罕見,市場上流行的Linksys BEFSR41W無線路由器是這方面的例子。對於大多數現在還無緣使用此類設備的朋友,關閉這個服務吧。

 57.System Event Notification

 SENS(系統事件通知服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於COM+ Event System服務。它的簡單描述是「跟蹤系統事件,如登入Windows、網路以及電源事件等。將這些事件通知給COM+事件系統『訂閱者(subscriber)』」。


這已將服務的內容解釋得很清楚了。儘管有人認為這個服務無關緊要,事實上系統是否需要 它取決於你在系統裡安裝了些什麼,而許多應用程式的執行是要通過SENS來實現的,所以建議還是讓它自動開啟為好。

 58.System Restore Service

 Srservice(系統還原服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。這是大家都非常熟悉的系統還原功能了,如果不使用的話,先在「我的電腦」內容中的系統還原選擇項關閉,然後在這裡將服務禁用即可。

 59.Task Scheduler

 Schedule(計劃工作服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。此服務支持WinXP的計劃工作,它能使程序在預定的時間自動執行,如定期進行磁牒磁碟重整、病毒掃瞄、更新等,可根據自己的需要選項是否開啟。

 60.TCP/IP NetBIOS Helper

 LmHosts(TCP/IP NetBIOS 助手服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於AFD網路支持環境、NetBios Over TCP/IP服務。該服務能在TCP/IP上提供NetBIOS支持。


大家應該對TCP/IP比較熟悉了,相對來說NetBIOS網路傳輸協定對讀者來說可能比較陌生,它是由IBM開發的一個很古老的傳輸協定,當年在區域網路上佔據主導。


由於NetBIOS不具備路由功能,也就是說它的資料包無法跨網段傳輸,因此在廣域網、城域網大行其道的今天,它只能 退居配角。


其實在Win95/98的網路傳輸協定中仍然保留著NetBIOS,不過它已經改名叫NetBEUI(NetBIOS增強用戶接頭),是NetBIOS的 Microsoft改進版。由於NetBIOS是完全關於區域網路的,因此作為訪問Internet資源的一般用戶可以禁用它,除非你的系統處在小區域網路中,而且使用的也正是NetBIOS傳輸協定。

 61.Telephony

 TapiSrv(電話服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Plug and Play、Remote Procedure Call服務。簡單地說這個服務能為電腦提供電話撥號的能力。

如果你使用了任何形式的撥號,不管是用撥號調製解調器還是DSL/Cable連線到Internet,還是通過電話線連接其他電腦,或是撥打電腦IP電話、發傳真等,你就有必要保留這個服務,反之就可關掉它。

 62.Telnet

 TapiSrv(遠端登入服務)的行程名是tlntsvr.exe,在WinXP Home下不可用,在WinXP PRO下預設安裝的啟動檔案類型是手動,依賴於NT LM Security Support Provider、Remote Procedure Call、TCP/IP Protocol Driver服務。這是一個容易遭到誤會的服務名稱,一般人會誤以為這是以前DOS下那個Telnet,關了之後就無法使用BBS。


其實它與BBS無關,完全是微軟自己的Telnet系統,儘管兩者的原理相差不大,即讓用戶以模擬終端的方式,登入到Int ernet的某台主機上,一旦連接成功,這些個人電腦就好像是遠端電腦的一個終端,可以像使用自己的電腦一樣輸入指令,執行遠端電腦中的程序。關於安全性理由,如果沒有特別需求,這個服務一定要關掉禁用。

 63.Terminal Services

 TermService(終端機服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。它的簡單描述是「允許多位用戶連接並控制一台機器,並且在遠端電腦上顯示桌面和應用程式。

這是遠端桌面(包括管理員的遠端桌面)、快速用戶轉換、遠端協助和終端伺服器的基礎結構」。

這段描述已將該服務的用途解釋得很清楚了,需要強調的是, 這些方便都是以安全為代價的,如果平時不用就一定要關掉。

 64.Themes

 Themes(主旨服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,沒有服務依存關係。很多人都喜歡使用XP的佈景主旨,不過如果用戶沒有使用就關閉好了。

 65.Uninterruptible Power Supply

 UPS(UPS電源管理服務)的行程名是UPS.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,沒有服務依存關係。

它的簡單描述是「管理連線到電腦的不間斷電源(UPS)」,同樣很好理解,UPS(不間斷電源供應)一般用戶極少用到,除非你的電源供應器具備此功能,不然可關閉。

 66.Universal Plug and Play Device Host

 UPNPhost(統一即插即用驅動主機服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於SSDP Discovery Service服務。它同SSDP Discovery Service是繼承關係,後者搜尋發現UPnP設備,而UPNPhost為UPnP設備提供驅動支持。當然通常情況下關閉即可。

 67.Upload Manager

 Uploadmgr(上傳管理服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Remote Procedure Call服務。這個服務的具體效果不明,關閉它後實際使用中的網路上傳下載並沒有受到什麼影響,也許它跟微軟的伺服器和相關服務有關?請根據需要關閉。

 68.Volume Shadow Copy

 VSS(上傳管理服務)的行程名是vssvc.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。它的簡單描述是「管理並執行用於製作備份和其他目的的磁碟區影複製」,依然是和WinXP製作備份有關的服務,它預設就是關閉的,也並沒有在筆者的電腦上對製作備份造成影響,其具體套用依是未解之謎。

 69.WebClient

 WebClient(Web客戶端服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於WebDav Client Redirector系統元件。使用WebDav可將檔案或資料夾上傳到某個Web服務,這個服務對於未來.NET意義更大。關於安全性的理由,現在你可以嘗試關閉它。

 70.Windows Audio

 AudioSrv(Windows音瀕服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Plug and Play、Remote Procedure Call服務。理解這個服務再簡單不過了,如果你的機器沒有音效卡可以關閉它。

 71.Windows Image Acquisition(WIA)

 Stisvc(Windows影像取得服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。該服務為控制台中的「掃瞄儀和照相機」功能提供支持。通過這個功能,用戶在安裝好設備驅動後無需要再安裝相關管理軟體,就能輕易操作掃瞄儀和數位相機來獲得圖像。不需要的用戶可關閉它。

 72.Windows Installer

 MSIServer(Windows安裝服務)的行程名是msiexec.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。這一服務同Application Management服務基本是一樣的。從微軟的解釋看,Windows Installer服務應該是.MSI文件的最直接執行者。

同樣讓人奇怪的是,這個服務預設就是關閉的,可.MSI文件的安裝、修復或移除卻很正常,和製作備份工具一樣,究竟這個服務在系統中扮演什麼角色,如何工作,只有微軟的工程師才知道了。

 73.Windows Time

 W32Time(Windows時間服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,它沒有服務依存關係。這一服務對應WinXP的Internet對時服務,如不需要關閉即可。

 74.Windows Management Instrumentation(WMI)

 Winmgmt(Windows管理規範服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於Event Log、Remote Procedure Call服務。WMI是Windows中的基礎管理結構,它通過一組常用接頭來控制和監視系統(如對系統內容的檢視與更改、設定用戶權限等)。WMI為訪問大量的Windows管理資料提供了一個統一的機制。


WMI通過指令碼、C++程序接頭、.NET類(系統管理)和指令行工具(WMIC)提供了對訊息的訪問。WMI的功能還包括事件、遠端、查詢、檢視、計劃和實施用戶增強及更多內容。總而言之,雖然在服務系統管理工具中可以關閉,但最好別動它,否則會出現許多莫名的問題。

 75.Windows Management Instrumentation Driver Extensions

 Wmi(Windows管理規範驅動延伸服務)的行程名是svchost.exe,在WinXP Home下不可用,在WinXP PRO下預設安裝的啟動檔案類型是手動,沒有服務依存關係。

微軟的白皮書介紹,該服務是作為WMI服務在驅動程式方面的一個延伸,簡單說主要就是為讓系統方便地獲知電腦中OEMs(original equipment manufacturers)以及IHVs(independent hardware vendors)等與硬體廠商相關的硬體訊息。不過讓人奇怪的是,為什麼它在WinXP Home下不可用呢?

 76.Wireless Zero Configuration

 WZCSVC(無線組態服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,依賴於NDIS Usermode I/O Protocol元件、Remote Procedure Call服務。它的簡單描述是「為您的802.11橋接器提供自動組態」。


802.11是大家都比較熟悉的無線區域網路傳輸協定標準了,其已經在市場上佔據了優勢。當然,802.11傳輸協定、藍牙標準和HomeRF工業標準是無線區域網路所有標準中最主要的競爭對手,它們也各有優劣。然而802.11b無線區域網路技術已經在美國得到了廣泛的套用,所以微軟的WinXP內裝服務支持也就不足為奇了。如果你沒有使用無線網路適配卡裝置,那麼可以關閉服務。

 77.WMI Performance Adapter

 WmiApSrv(WMI效能橋接器服務)的行程名是wmiapsrv.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是手動,依賴於Remote Procedure Call服務。


此服務提供了從WMI HiPerf 提供者獲得的效能庫訊息,需要以手動方式進行組態,並不會在預設狀態下實現執行。該服務太過專業,無法解釋得淺顯,對於普通的使用者最好保持其預設狀態。

 78.Workstation

 Lanmanworkstation(工作站服務)的行程名是svchost.exe,在WinXP Home/PRO下預設安裝的啟動檔案類型是自動,它不依賴於其他服務,但有不少服務都依賴它。該服務同樣為基礎服務,請保持其預設狀態不要關閉。


microsoft 曾經提供過所有windows xp/server 2003的服務解釋資料

不過現在windows xp的由於xpsp2的發怖,原文被撤下了

下面的連接提供了windows server 2003的服務詳細解釋,大多數也可以運用於windows xp
http://www.microsoft.com/downloads/details.aspx?FamilyID=b38a0682-2997-4678-9d9e-a07cc66a3bba&displaylang=en


TOP
wei7649


高級會員


UID
20133
帖子
3463
精華
162
積分
36483
金幣
33679
威望
613
閱讀權限
77


個人空間
發短消息
加為好友
當前離線 3樓



發表於 2007-11-2 20:32 只看該作者
資料來源:
http://playpcesor.blogspot.com/2007/04/windows.html


電子書,內容是關於WindowsXP與Win2000的系統服務,作者Koala在檔案中詳細的說明了每個WIndows系統服務的功能,並且附上個人的應用心得,除了說明如何優化系統服務外,也沒有遺漏註記某些優化可能帶來的風險。雖然我也看過網路上有不少介紹Windows系統服務的優化教學,但是這本Koala多年前製作的電子書仍然是我目前看過這方面最詳盡,也最有用處的。可惜目前作者的網頁似乎不在了,所以我將這本電子書上傳到網路硬碟,提供給需要的人下載。

* Windows系統服務優化電子書下載點(作者為Koala):
* 下載點一: http://www.badongo.com/file/2648099

Windows系統服務是會隨著開機啟動,在背景常駐執行的程序,它們大多是與Windows的各種網路、檔案、安全等功能息息相關,也有一些系統服務是因為安裝防毒、防火牆等第三方系統軟體而加入的,不過雖然Windows系統服務看起來很重要,可是其中還是有許多一般人用不到的功能,而這些服務我們就可以暫時將他們關閉,以空出更多的系統資源,有時候關閉某些服務還可以增加網路安全性、避免不必要功能的打擾。

WindowsXP有提供我們一個系統服務的控制台,讓我們可以很方便的設定每個服務,要打開這個控制台,你可以到開始功能表的「執行」處,輸入「services.msc」。或者到開始功能表的設定裡,勾選「顯示系統管理工具」,然後回到開始功能表後,在系統管理工具的選單中就會出現「服務」的選項。在服務控制台中,Windows本身對於每個服務都已經有基本的說明,在每個服務按右鍵打開「內容」,就可以設定每個服務的細節了,在啟動類型裡我們可以有三個選擇,「自動」選項可以讓該服務隨著開機啟動。「手動」選項則讓該服務在需要的時候才啟動,大多時候我們要關閉服務時,選擇手動會是比較保險的作法。「已停用」則是讓該服務永遠都不要啟動,某些會干擾你的服務可以選擇停用。

Koala 製作的這本電子書除了介紹系統服務優化外,在最後面的地方還有附上許多Windows背景程式的功能說明,讓我們可以瞭解許多程式的用途,另外也有提供系統必要的服務警告,這些服務千萬不要關閉,可能造成系統崩潰。下面開始,我還是列出WindowsXP的系統服務列表,並附上簡單的優化說明,以及我從家庭使用者角度出發的優化心得。如果你下載不到電子書的話可以直接看下面的說明,說明中粗紅體字部分為重要的系統服務,不可隨意關閉,粗黑體字部分為比較需要優化(停用)的服務。不過電子書中還是提供了更詳細的解釋,以及關於Win2000服務的說明。

* NET Runtime Optimization Service:安裝.NET後會出現的服務,可以設為手動。
* Alerter:一般使用者用不到警示功能,設為停用。
* Application Layer Gateway Service:SP2防火牆功能的附加功能,即使你打開Windows防火牆,這裡還是可以設為手動,需要時它會自己開啟。
* Application Management:Windows內部元件的安裝服務,設為手動即可。
* ASP.NET State Service:.NET功能,平常設為手動即可。
* Automatic Updates:Windows自動更新功能,要安裝WIndows系統更新時需要保持自動啟動,如果你大概每個月才更新一次Windows系統補丁的話,平常可以設定為停用,要更新時再設為自動啟動。
* Background Intelligent Transfer Service:和Windows自動更新有關的服務,不過設為手動還是可以正常更新。
* ClipBook:Windows剪貼簿檢視器與網路分享剪貼簿功能,一般人應該用不到,可以設為手動或停用。
* COM+ 開頭的一系列服務:與COM元件有關的服務,設為手動即可,需要時會自己開啟。
* Computer Browser:不需要的服務,可以設為手動或停用。
* Cryptographic Services:雖然在說明裡看起來滿重要的服務,但是可以設為手動,需要時會自行開啟。
* DCOM Server Process Launcher:很重要的服務,請設為自動。
* DHCP Client:重要的網路設定服務,請設為自動。
* Distributed Link Tracking Client:維護NTFS的檔案連結,即使你用NTFS檔案系統,還是可以設為手動。
* Distributed Transaction Coordinator:協調多個資源管理員間的交易,一般人用不到,可以設為手動。
* DNS Client:解析DNS名稱的服務,家庭用戶設為手動或停用也不會有影響。
* Error Reporting Service:Windows錯誤報告功能,這個功能對於家庭用戶來說滿多餘的,請設為停用。
* Event Log:很重要的服務,請保持自動。
* Fast User Switching Compatibility:多使用者快速切換服務,可以設為停用也不會有什麼影響。
* Help and Support:Windows說明與支援功能,設為手動你還是可以開啟說明。
* HTTP SSL:SSL安全連線服務,平時設為手動即可。
* Human Interface Device Access:人性化裝置服務,如果你沒有像多媒體鍵盤等裝置,可以設為停用。
* IMAPI CD-Burning COM Service:Windows內建的燒錄光碟服務,如果你不用Windows內建程式燒錄,可以設為停用。
* Indexing Service:Windows自己的快速索引服務,開啟會影響效能,基本上如果關閉快速索引,還是可以使用Windows基本的搜尋,所以對於一般使用者來說最好是停用它。
* IPSEC Services:IP安全性原則服務,一般用戶可以設為手動即可。
* Logical Disk Manager:磁碟機管理服務,設為手動即可。
* Logical Disk Manager Administrative Service:對於一般用戶設為手動即可。
* Messenger:這跟MSN沒關係,是Windows內建的訊息服務,坦白說這還滿擾人的,而且可能會被惡意廣告程序利用,所以請設為停用。
* Microsoft Office Diagnostics Service:Office服務,設為手動即可。
* MS Software Shadow Copy Provider:Office服務,設為手動即可。
* Net Logon:網域上的帳戶登入,家庭用戶可以停用。
* NetMeeting Remote Desktop Sharing:遠端桌面服務,不使用遠端桌面者,可以設為手動。
* Network Connections:網路連線服務,可以設為手動,需要時會自己開啟。
* Network DDE、Network DDE DSDM、Network Location Awareness (NLA)、Network Provisioning Service:一般家庭用戶這幾個網路服務可以停用。
* NT LM Security Support Provider:Telnet服務,一般用戶設為手動即可。
* Office Source Engine:Office更新服務,設為手動即可。
* Performance Logs and Alerts:收集系統資料服務,不是很需要,可以停用它。
* Plug and Play:很重要的硬體支援服務,請保持自動。
* Portable Media Serial Number Service:和多媒體授權有關的服務,設為停用也沒什麼影響。
* Print Spooler:列印相關服務,請保持自動,要不然每次開啟印表機都要重新安裝驅動。
* Protected Storage:受保護的儲存區服務,請保持自動。
* QoS RSVP:Windows的流量控制服務,雖然打開或關閉對於網路速度不會有太大影響,不過多一事不如少一事,可以停用它,然後到網路連線設定哩,解除安裝Qos。
* Remote Access Auto Connection Manager:網路連線重要功能,保持自動或手動。
* Remote Access Connection Manager:網路連線重要功能,保持自動或手動。
* Remote Desktop Help Session Manager:Windows內建的遠端協助,如果你使用第三方軟體的遠端服務,或者你不用遠端桌面連線,可以停用這個服務。
* Remote Procedure Call (RPC):非常重要的服務,一定要保持自動。
* Remote Procedure Call (RPC) Locator:可以設為手動。
* Remote Registry:讓遠端使用者可以修改本機的登錄檔,為了安全最好停用。
* Removable Storage:設為手動即可。
* Routing and Remote Access:路由服務,可以停用。
* Secondary Logon:一般家庭用戶不需要的認證功能,可以停用。
* Security Accounts Manager:儲存本機帳戶安全資訊,可以設為手動。
* Security Center:XP-Sp2開始加入的安全中心,當你系統沒裝防火牆、防毒軟體,或沒有開啟自動更新時會跳出警告,坦白說沒什麼用,所以停用它吧!
* Server:區域網路的檔案列印、分享功能,不需要的可以暫時設為手動。
* Shell Hardware Detection:自動播放硬體事件服務,設為手動即可,需要會自己開啟。
* Smart Card:如果你電腦沒有使用智慧卡,可以停用。
* SSDP Discovery Service:家用網路上的隨插即用裝置服務,一般用戶應該用不到,除非你有家庭多媒體連線播放硬體,要不然可以停用這個服務。
* System Event Notification:系統事件追蹤服務,有些功能還是會需要開啟它,可以設為手動或自動。
* System Restore Service:WIndows內建的系統還原功能,如果你沒有開啟系統還原的話,可以設為手動或停用。
* Task Scheduler:Windows內建的自動排程功能,基本上一般用戶用不到,一些需要排程的軟體也都會有自己的排程系統,所以這個服務可以停用。
* TCP/IP NetBIOS Helper:家庭用戶不需要的網路功能,可以設為手動或停用。
* Telephony:網路連線需要的功能,保持手動或自動即可。
* Telnet:和遠端登入本機有關的功能,一般家庭用戶真的不需要,所以可以停用。
* Terminal Services:遠端桌面、快速使用者切換的服務,一般用戶不是很需要,可以設為停用或手動。
* Themes:WindowsXP的佈景主題功能,如果關閉它的話,XP會變成像2000的簡單介面。對於目前一般電腦硬體來說,開啟佈景主題對於效能幾乎沒有影響,所以要開啟或關閉,完全取決於你視覺上的要求。
* Uninterruptible Power Supply:不斷電系統服務,沒有相關硬體者可以設為手動或停用。
* Universal Plug and Play Device Host:另一個網路上隨插即用裝置服務,一般用戶不需要,可以設為停用。
* Volume Shadow Copy:磁碟備份功能,對於一般用戶來說使用不到,可以設為手動。
* WebClient:家庭用戶不是很需要的服務,可以設為停用或手動。
* Windows Audio:系統聲音服務,請保持自動。
* Windows Firewall/Internet Connection Sharing (ICS):Sp2防火牆的重要服務,有使用該防火牆者,這裡要保持自動。
* Windows Image Acquisition (WIA):影像擷取服務,保持手動即可,需要會自己開啟。
* Windows Installer:系統元件安裝服務,保持手動即可,需要會自行啟動。
* Windows Management Instrumentation:重要的服務,保持自動。
* Windows Management Instrumentation Driver Extensions:上一個服務的延伸功能,不過這裡保持手動即可。
* Windows Time:Windows的自動網路校時功能,一般用戶不需要,請設為停用。
* Windows User Mode Driver Framework:使用者模式驅動,設為手動即可。
* Wireless Zero Configuration:無線網卡服務,沒有無線網卡者,可以先設為手動。
* WMI Performance Adapter:不需要的功能,可以設為停用。
* Workstation:滿重要的網路服務,保持自動。
*

* 特殊的第三方服務
*

* Ati HotKey Poller:安裝ATI顯示卡驅動程式後會啟動的快捷鍵服務,基本上不需要,所以設為停用。
* ATI Smart:ATI顯示卡驅動的功能,這一項要保持自動,不需要時ATI驅動會自行卸載。
* AVG開頭的一系列服務:安裝AVG安全軟體時會載入的服務,其中像「AVG Anti-Spyware Guard」是AVG反間諜的即時防護服務,如果你使用免費版的話,可以把這裡改為手動或停用。
* LexBce Server:Lexmark的印表機服務,有使用印表機就要保持自動,不然的話下次開印表機又要重新安裝驅動程式。

取得網域中人員的姓名

可能是
wmic netlogin list full
裡面的full name

or
sysaccount
useraccount
---
NET USER loginname /DOMAIN | FIND /I " name "
---
WMIC還可以從Active Directory中取得資料,下面是一個從Active Directory中取得用戶信息的例子,取得的用戶信息包括顯示名稱、UPN名稱、名稱和新增時間等,返回結果如圖6所顯示:

  WMIC/NAMESPACE:\root\directory\ldap PATH ds_user GET ds_displayname, ds_userprincipalname, ds_cn, ds_name, ds_whencreated /VALUE

----
下列範例會使用簡單的指令碼來列舉某個網域上的網路使用者。

注意 [ 使用者及電腦必須是在同一個網域在指令碼能夠正確地運作。

Dim oExec,sInput
Dim wshell

set wshell = CreateObject("wscript.shell")

set oexec = wshell.Exec("net user %username% /domain") do while not oexec.stdout.atendofstream
sinput = oexec.stdout.readline
if Left(sInput,9)="Full Name" then
wscript.echo(mid(sinput,30,len(sinput)-29))
end if
loop

批次檔如何讓輸入密碼時不顯示出來

--

轉自 : http://blog.xuite.net/moonvilla/mypcnote/21527678

--

在一個Computer Hope Forums的國外網站找到的,原文參照:http://www.computerhope.com/forum/index.php?topic=71306.0

A
MOV AH,0C ;function flush buffer
INT 21 ;DOS call
MOV AH,0A ;function buffered input
INT 21 ;DOS call
MOV DL,AL ;store user input
MOV AH,4C ;function exit
INT 21 ;DOS call

RCX
14
N PSWDHIDE.COM
W
Q

1. 將以上複製貼上到記事本並存成 hidepass.scr

2. 在 Command 視窗輸入

debug < hidepass.scr

3. 會生成一個檔案:PSWDHIDE.COM

4. 批次檔的寫法範例:

@echo off set /p userid=Enter UserId: 
<nul
for /f "tokens=*" %%i in ('pswdhide.com') do set password=%%i
 if %password%==password goto next
 cls
 echo Incorrect password, Try Again
 goto retry

:next
 echo.

不過密碼只能是英文字.

2009年5月18日 星期一

使用wmic修改 computername

wmic.exe ComputerSystem Where Name="%ComputerName%" Rename Name="NewComputerName"

bat 批次檔指令

批次檔的常用指令如下:

*------------------------------------------
一、 ECHO
*------------------------------------------

在正常的情況下,批次檔中的每道命令執行前都會先出現螢幕上。有了ECHO命令,就可以任意控制是否列印出命令列。
用法:在批次檔中鍵入echo on/off ,on:表示要印出命令列,off:則不印出命令列,若要禁止批次檔的命令顯示在螢幕上,則使用隱藏echo off(@ECHO OFF),用法在命令列的開頭上加上@符號
Ex:
@echo off 表示資料隱藏
echo .... 測試ECHO指令
echo .... 請稍後
echo .... 完成.....

結果:
Test Enter
.... 測試ECHO指令
.... 請稍後
.... 完成.....

*------------------------------------------
* 二、 代換參數
*------------------------------------------
代換參數的標記是一個百分號(%)再跟著一個阿拉伯數字,最多可使用10個代換參數,這些變數的值,則由呼叫批次檔的命令所指定。
Ex:
@echo off
echo .... 測試代換參數指令
echo .... 請稍後
echo .... 完成.....
echo %1 %2 %3 %4

結果:
Test TCP EDU NETWORK CENTER Enter
.... 測試ECHO指令
.... 請稍後
.... 完成.....
TCP EDU NETWORK CENTER

*------------------------------------------
* 三、 PAUSE:是暫停批次檔的執行。
*------------------------------------------
當MS-DOS執行到PAUSE時就暫時中止目前的工作,並印出下列訊息:
press any key to contunue …… 
Ex:
@echo off
echo .... 測試代換參數指令
echo .... 請稍後
echo .... 完成.....
echo %1 %2 %3 %4
pause
echo %5 %6

結果:
Test TCP EDU NETWORK CENTER Enter E-Mail chan@ms64.hinet.net
.... 測試ECHO指令
.... 請稍後
.... 完成.....
TCP EDU NETWORK CENTER
Press any key to continue ....

E-Mail chan@ms64.hinet.net

*------------------------------------------
* 四、 REM(REMark)用來在批次檔執行中顯示某些訊息
*------------------------------------------
用法是在批次檔中鍵入rem,後面跟著所要顯示的字串

Ex:
@echo off
echo .... 測試代換參數指令
echo .... 請稍後
echo .... 完成.....
rem 下面指令,開始做代換參數
echo %1 %2 %3 %4
pause
echo %5 %6

*------------------------------------------
* 五、 IF
*------------------------------------------
IF命令在批次檔中用來測試特定的條件,以決定是否執行某些命令。絛件的型態分為四種:
////////////////////////////////////////////////////////////////////
(1) IF EXIST
此條件是用來檢查某一檔案是否存在,若存在則條件成立,便執行指定的命令
Ex:
@echo off
if exist test1.bat type test1.bat

////////////////////////////////////////////////////////////////////
(2) IF String1 = = String2(= = 表相等性的比較)
Ex:
@echo off
echo .... 測試IF指令
echo %1
if '%OS%'=='Windosws_NT' goto good
if %1 == a goto first
if %1 == b goto second
if %1 == c goto three
:good
echo 作業系統%OS%
:first
echo 執行first (a)
goto finish
:second
echo 執行second (b)
goto finish
:three
echo 執行three (c)
goto finish
:finish

結果:
Test1 a Enter
a
執行First(a)
執行程式結束

////////////////////////////////////////////////////////////////////
(3) IF ERRORLEVEL
ERRORLEVEL是由MS-DOS所管理的一個系統變數,目的是監視所有錯誤發生的情況。(類似ErrorMessage)

////////////////////////////////////////////////////////////////////
(4) IF NOT
IF NOT是當測試條件不成立時才執行後面命令

Ex:
@echo off
if not exist test1.bat type test1.bat
echo 執行程式結束

////////////////////////////////////////////////////////////////////

*------------------------------------------
* 六、 GOTO
*------------------------------------------
GOTO命令在批次檔中用來轉移控制權,可以指示批次檔跳至某一標記(line label)由一個冒號(:)跟著字元符號所組成的;label也可使用代換變數
Ex:
goto first 或 goto %1

*------------------------------------------
* 七、 FOR
*------------------------------------------
FOR命令允許批次檔中的其他命令,可以重覆地執行
for %%a IN (file1 file2 file3) DO del %%a
虛擬變數必須以兩個百分號(%%)起頭,in後面著參數列,do後面跟著要執行的命令

Ex1:
@echo off
echo .... 測試FOR指令
echo .... 請稍後
echo .... 完成.....
echo ....
for %%a IN (test_a.bat test_b.bat test_c.bat) do copy %%a prn

結果:
test Enter
.... 測試FOR指令
.... 請稍後
.... 完成.....
....
  1 File(s) Copied
  1 File(s) Copied
  1 File(s) Copied

 

Ex2:
REM 取得日期
FOR /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (SET _MyDate=%%a%%b%%c%%d)

REM 顯示去掉分隔符號後的結果
echo %_MyDate%

說明:
/F 是指定將後面 %date% 的環境變數當成檔案來處理,而處理的依據就是在「"tokens=1-4 delims=/ "」這邊。tokens如果按照字面翻譯的話,是權杖的意思,這樣翻不太直覺,在這邊翻成順序可能比較好一些。以這個例子來說,就是要取得順序 1 ~ 4 的字串,那程式怎麼知道這個順序的分法呢?透過 delims 這個引述的設定,程式就知道要怎麼去分析 %date% 環境變數的順序。在 delims 等號右邊的字元就是用來指定分割順序的依據。以這個例子來說,我們用「/」與「 」(空白,White Space)這兩個分隔符號來分割 %date% 的順序。因此原本 %date% 的內容是 2006/03/07 星期二,在程式來看就變成了:

順序 內  容
﹉﹉ ﹉﹉﹉﹉
1    2006
2      03
3     07
4   星期二

%%a 是說把順序 1 的結果指派給名稱為 %%a 的變數,因此順序 2 的變數名稱就會是 %%b,以此類推,最多可以有 52 個變數,原因如下:變數名稱有大小寫之分,所以 %%a 跟 %%A 不同,且僅能以一個英文字母來命名,所以 26(個字母)× 2(大寫跟小寫 2 種)=52(個)。DO 後面的括號內容是用來指定所要執行的命令內容,以這個例子來說,就是指定一個名稱為 _MyDate 的變數,它的內容是由 %%a%%b%%c%%d 所構成的。

再來我們看看使用 FOR 指令去掉時間變數之分隔符號的結果:

MyTime.bat 的檔案內容如下所示:
----程式開始----


REM 取得時間
FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (SET _MyTime=%%a%%b%%c%%d)

REM 顯示去掉分隔符號後的結果
echo %_MyTime%

----程式結束----

看看執行的結果:

C:\>MyTime

螢幕輸出:

14243241

講了這麼多,您知道該怎麼運用 %date% 與 %time% 環境變數了嗎?

*------------------------------------------
* 八、 SHIFT
*------------------------------------------
SHIFT命令允許在批次檔的起動命令中,使用超過10以上的實際參數
(%0~%9)

*------------------------------------------
* 九、 CALL
*------------------------------------------
模組化的程式設計,是將一個完整的程式分割成一個個獨立的模組(module),每個模組負責一項功能
Ex:
@echo off
echo .... 測試CALL指令
echo .... 請稍後
echo %1 %2
call test_b
echo %3 %4
echo 程式模組已執行完畢 (test_a.bat)

@echo off
echo 執行test_b程式
echo 即將執行test_c .....
call test_c
echo 執行test_b程式完畢~~~ (test_b.bat)

@echo off
echo 執行test_c程式
if exist test2.bat type test2.bat
echo 執行test_c程式完畢~~~ (test_b.bat)

*------------------------------------------
* 十、 set
*------------------------------------------
宣告變數;設定變數

set gbs=%OS% 取得作業系統
set xdate=%date% 取得目前日期20080610
set xmonth=%date:~5,2% 取得目前月份06
set select=
set /P select=請選擇: 等待取得使用者所輸入字元


在DOS環境下輸入Set,可列出windows環境變數

批次檔 batch file 取得日期為變數值的運用

批次檔內容 (例如: log.bat ) 代碼:
@echo off 
@For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set date=%%a-%%b-%%c) 
@For /f "tokens=2-3 delims=: " %%a in ('time /t') do (set time=%%a:%%b) 

REM 這個 %date% 或 %time% 變數可以拿來做很多用途... 
@echo The date is %date% 
@echo The time is %time% 

REM 產生每天的資料夾 (如果目錄不存在就建立目錄) 
@IF NOT EXIST %date% mkdir %date% 

REM ********************************** 
REM 以任何方式檢查伺服器的狀態.... 
REM ********************************** 

REM 產生每天的 log 檔名,並記錄時間 (如果檔案不存在就建立檔案) 
@set dailylog=%date%.log 
@IF NOT EXIST %date%/%dailylog% echo ******************** > %date%/%dailylog% 

REM 如果伺服器掛掉了,就記錄下來 
@echo %date% %time% >> %date%/%dailylog% 
@echo Mail Server is Down >> %date%/%dailylog% 
echo ******************** >> %date%/%dailylog% 

REM 這裏是暫停命令提示字元視窗 
pause



輸出內容 
The date is 2007-07-17 
The time is 10:16 
請按任意鍵繼續 . . .



執行結果 
1. 產生一個名為 2007-07-17 的目錄 
2. 在前一個目錄中產生一個名為 2007-07-17.log 的文字檔,並記錄資訊 


參考資訊: 
Windows Batch File (.bat) to get current date in MMDDYYYY format 
http://www.tech-recipes.com/modules.php?name=Forums&file=viewtopic&t=1435 

The 10 Batch File Commands 
http://www.cs.ntu.edu.au/homepages/bea/home/subjects/ith305/description.html

NETSH備份網路設定

---

轉自 : http://blog.yam.com/xboomz/article/7977994

---

電腦常常在不同地方使用.
需要一直一變更區域網路的TCP/IP設定.
如果你跟我一樣,在宿舍,公司或家裡都要常設定不同Network Configuration.
你可以參考下面,自己一寫一個批次檔歐!! 
使用NETSH這個DOS狀態下指令來完成你的工作。

netsh -c interface dump > ipsetup01.txt
這個指令可以讓你把現在的IP設定寫入ipset01.txt。

netsh -f ipset01.txt
這個指令可以讓你將ipset01.txt的設定寫回系統。

剩下的就是將這些指令編輯成批次檔了。
你新增一個檔案叫做IP01.bat
內容:
netsh -f ipset01.txt

※記得將第一個設定的TXT放在跟此批次檔同一個資料夾。
IP02.bat依此類推。 



NETSH的所有用法,請參考
http://www.pczone.com.tw/vbb3/showthread.php?t=91997




=======================================================

想要在描述指令集中,變更IP位址的設定,您可以使用Win2K的多功能
Net Shell,,(Netsh)命令。這個命令可以提供好幾個在win2K系統上檢視
以及修改,IP位址有關的功能。 
例如:
如果想要將系統從靜態的IP位址改變成動態的DHCP位址,您可以開啟
命令提示列,然後輸入下列的命令
netsh interface ip set address "" dhcp
其中 connection name 是您想要改變IP位址設定的LAN卡名稱。
(一般我們稱道個界面卡為區域網路連線.但是如果您有多個LAN界面卡,
則可能會有多個不同的名稱,另外管理員也有可能手動修改界面卡的名稱
預設名稱為: " Ethernet adapter 區域連線 " )。


想要將設定改變回來,也就是想要將連線或是界面卡從DHCP設定的位址
改成靜態位址--可以輸入下面的命令:
netsh interface setaddress "" static 
其中 ip_address 是您想要指定給連線的靜態IP位址.
netmask則是與IP位址相關的子網路遮罩(如255 255.255.O)
gateway則是本IP子網路預設的閘道器(如果有)
metrc則是選擇性的數字值(例如1、2),可以用來設定使用的預設閘道器(如果有)。

實際案例..

我先將網路設定打開的 "區域網路" 字樣改成 "Lan" 之後.

就可以在文字模式下 寫個快速的批次檔

使用DHCP, 批次檔名為 dhcp.bat

netsh interface ip set address Lan dhcp

使用固定IP, 指定IP為 163.15.196.50 網路遮罩(Netmask)為 255.255.255.0 閘道(Gateway)為 163.15.196.254 的語法為

netsh interface ip set address Lan static 163.15.196.50 255.255.255.0 163.15.196.254 1


========================================================================

============
netsh

使用方式: netsh [-a AliasFile] [-c Context] [-r RemoteMachine]
  [Command | -f ScriptFile]

下列是所有可用的命令。

這個內容中的命令:
? - 顯示命令清單。
add - 新增項目清單中的設定項目。
bridge - 變更到 `netsh bridge' 內容。
delete - 刪除項目清單中的設定項目。
diag - 變更到 `netsh diag' 內容。
dump - 顯示設定指令檔。
exec - 執行指令檔。
firewall - 變更到 `netsh firewall' 內容。
help - 顯示命令清單。
interface - 變更到 `netsh interface' 內容。
ras - 變更到 `netsh ras' 內容。
routing - 變更到 `netsh routing' 內容。
set - 更新組態設定。
show - 顯示資訊。
winsock - 變更到 `netsh winsock' 內容。

下列是可使用的子內容:
bridge diag firewall interface ras routing winsock

範例一:指定 DHCP
netsh int ip set address "lan" dhcp

dhcp.bat 可以這樣寫
--------------------
netsh int ip set address "lan" dhcp
exit
--------------------

範例二:指定固定 IP
netsh int ip set address "lan" static 192.168.1.155 255.255.255.0 192.168.1.1 1

ip.bat 可以這樣寫
--------------------
netsh int ip set address "lan" static 192.168.1.155 255.255.255.0 192.168.1.1 1
exit
--------------------

備註:
1. "lan" 的名稱是控制台網路連線,該網路卡的名稱設定。

============
reg
Console Registry Tool for Windows - version 3.0

============
sc
SC is a command line program used for communicating with the
NT Service Controller and services.

============
netstat
Displays protocol statistics and current TCP/IP network connections.

查詢 port 是哪一支程式使用
netstat -anb

windows bat 批次檔變數輸入

@set /p var=輸入:
@echo %var%
@pause

幫jar檔瘦身 移除無用class

--

轉自 : http://www.javaworld.com.tw/roller/yaocl/entry/幫jar檔瘦身_remove_unused_classes

--

幫jar檔瘦身 Remove Unused Classes

05:30下午 三月 12, 2009 in category General by yaocl
寫程式的時候,通常會使用很多 library ,但是一旦遇到要把程式以 JNLP 的方式,送到client端的時候,產生jar的大小就很重要了,以LGPL license來看,我們的程式可以連結到LGPL license的library,我們不一定要以一個一個獨立的jar來散佈library,我們可以把所有classes集合在一個jar檔裡面,只要我們沒有修改到原始程式,就應該符合license的規定。

所以我們可以把程式沒有使用到的 binary classes 都去掉,Open Source 授權的關係,我們不修改 library 原始程式,不使用obfuscator,但也能達到縮小 jar 的目的。

首先要準備一個 使用到的 classlist 檔案,在執行程式的時候,加上 -verbose:class 參數,ex: java -verbose: Test ,把結果輸出到一個 classlist.txt 檔案檔案裡面會有類似這樣的資料,這就表示JVM從commons-logging-1.1.1.jar裡面載入了一個 class org.apache.commons.logging.LogConfigurationException。
[Loaded org.apache.commons.logging.LogConfigurationException from file:/D:/testproject/lib/commons-logging-1.1.1.jar]

1. 把所有 library 的 jar 用 org.apache.tools.zip.ZipFile 解開到某個 release 的目錄
2. 把編譯的 class 程式,也複製到 release 目錄
3. 從剛剛的 classlist.txt 裡面,把使用到的 classes 名稱,收集在一個 hash 裡面
4. 用 org.apache.commons.io.FileUtils.iterateFiles 把 release 目錄裡面所有的 .class 都集合起來
5. 一個一個比對 是不是有在 classlist.txt 的 hash 裡面
6. 如果不存在就把這個 class 刪掉
7. 最後 再用 jar cvf ..\proejct.jar . 就可以產生一個去掉沒有使用到的 classes 的 jar