2009年5月20日 星期三

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"' 的屬性
屬性更新成功。

3 則留言:

  1. I like the valuable info you provide in your articles. I'll bookmark your blog and check again here regularly. I am quite certain I'll
    learn a lot of new stuff right here! Best of luck for the next!


    http://adsactlysocial.net/groups/please-dont-buy-twitter-potential-customers-apparatus-look-at/
    http://64.179.135.185/?q=node/1931
    http://adultdate.us/link/1404
    http://74.200.92.133/forum/profile.php?mode=viewprofile&u=82847
    http://ad-wiki.informatik.uni-freiburg.de/research/ShawnaGio

    Look at my blog expos

    回覆刪除
  2. Very rapidly this site will be famous amid all blogging users, due to it's fastidious articles

    http://amimodo.it/phpbb/profile.php?mode=viewprofile&u=4126
    http://amfilms.hash.com/users/RandolphS
    http://amazonface.com/index.php?do=/blog/29260/buy-a-lot-of-real-twitter-followers-to-find-out-your-firm-on-the-net/add-comment/
    http://apache359.com/userinfo.php?uid=21964
    http://amazingleadership.com/blog/dewaynegillisbpcvjyl/how-buy-real-active-twitter-followers-and-even-add-popularity-your-home-bu

    Also visit my homepage :: kneecaps

    回覆刪除
  3. Hi! I've been reading your site for some time now and finally got the bravery to go ahead and give you a shout out from Dallas Texas! Just wanted to tell you keep up the good work!

    http://520hero.com/content/simple-social-media-services-and-marketing-software-each-introduction
    http://74.200.92.133/forum/profile.php?mode=viewprofile&u=82847
    http://affluentrecords.com/boards/profile.php?mode=viewprofile&u=151847
    http://addtours.free.fr/forum/profile.php?mode=viewprofile&u=1154
    http://83.150.87.118/WB/kanootti/modules/phpbb_keskustelu/phpBB2/profile.php?mode=viewprofile&u=900443

    my site ... elliott

    回覆刪除