python取wmi的一些例項

2021-06-23 00:00:22 字數 3289 閱讀 8751

python取wmi的一些例項拔草

import wmi

wwmi.wmi()

for processor in w.win32_processor():

print "processor id: %s" % processor.deviceid

print "process name: %s" % processor.name.strip()

totalmemsize0

for memmodule in w.win32_physicalmemory():

totalmemsize+int(memmodule.capacity)

print "memory capacity: %.2fmb" %((totalmemsize+1048575)/1048576

列出所有程序

import wmi

c wmi.wmi ()

for process in c.win32_process ():

print process.processid, process.name

列出所有記事本程序

import wmi

c wmi.wmi ()

for process in c.win32_process (name"notepad.exe"):

print process.processid, process.name

建立然後刪除記事本程序

import wmi

c wmi.wmi ()

process_id, return_value c.win32_process.create (commandline"notepad.exe")

for process in c.win32_process (processidprocess_id):

print process.processid, process.name

result process.terminate ()

列出建立程序的呼叫方法

import wmi

c wmi.wmi ()

print c.win32_process.create

顯示為自動,當前未啟動的服務

import wmi

c wmi.wmi ()

stopped_services c.win32_service (startmode"auto", state"stopped")

if stopped_services:

for s in stopped_services:

print s.caption, "service is not running"

else:

print "no auto services stopped"

顯示磁碟使用百分比

import wmi

c wmi.wmi ()

for disk in c.win32_logicaldisk (drivetype3):

print disk.caption, "%0.2f%% free" % (100.0 * long (disk.freespace) / long (disk.size))

執行記事本,等待直到它關閉,並且顯示內容

import wmi

c wmi.wmi ()

filename r"c:temptemp.txt"

process c.win32_process

process_id, result process.create (commandline"notepad.exe " + filename)

watcher c.watch_for (

notification_type"deletion",

wmi_class"win32_process",

delay_secs1,

processidprocess_id

)watcher ()

print "this is what you wrote:"

print open (filename).read ()

我執行的時候出現錯誤,filename似乎是獲取的乙個臨時檔名,而非我儲存的檔名,因此不能read,不能顯示出內容。

監視乙個列印任務

import wmi

c wmi.wmi ()

print_job_watcher c.watch_for (

notification_type"creation",

wmi_class"win32_printjob",

delay_secs1)

## or, from 1.0 rc3 onwards

## print_job_watcher c.win32_printjob.watch_for (

# notification_type"creation",

# delay_secs1

# )

while 1:

pj print_job_watcher ()

print "user %s has submitted %d pages to printer %s" % 

(pj.owner, pj.totalpages, pj.name)

重啟遠端計算機

import wmi

# other_machine "machine name of your choice"

c wmi.wmi (computerother_machine, privileges["remoteshutdown"])

os c.win32_operatingsystem (primary1)[0]

os.reboot ()

我想應該有許可權才對,反正我是沒有關起。另外,名字可以用ip代替嗎?

顯示ip和mac

import wmi

c wmi.wmi ()

for inte***ce in c.win32_networkadapterconfiguration (ipenabled1):

print inte***ce.description, inte***ce.macaddress

for ip_address in inte***ce.ipaddress:

print ip_address

print

自啟動程式和位置

import wmi

c wmi.wmi ()

for s in c.win32_startupcommand ():

print "[%s] %s <%s>" % (s.location, s.caption, s.command)

Windows開啟WMI時一些總結

通過遠端的方式連線wmi獲取計算機資訊時,可能會出現遠端主機拒絕訪問,這時就要通過下面的方式來開啟當前計算機的wmi服務,下面以win7和win10為例來進行相關的說明,通過一步步排查去連線遠端服務。一 在本機測試是否可以連線遠端主機wmi服務 1 按下windows r組合鍵,呼叫系統執行視窗。2...

優化的一些例項

優化使用的工具,使用loadrunner做為壓力測試工具,使用jprobe進行 剖析。1 第乙個例項。原狀況 呼叫乙個api,發現執行的時間很高,用jprobe分析,發現消耗時間最長的是把快取中的乙個樹從第三個節點進行扁平化,就是把第二個節點的子樹構造為乙個列表,不知道為什麼構造這個資料的耗時比直接...

一些jQuery 例項

設定內容 text html 以及 val changehtml click function 新增新的 html 內容 向 html 元素追加內容 在 html 元素之後追加內容。before after html click function jquery 操作 css 改變 html 元素的 ...