好多朋友不知道自己的電腦配置情況在哪里查看,我做一下教程:
1、利用“我的電腦”(windows10叫“此電腦”)。
2、利用設備管理器
3、輸入命令來查看
同時按win+r鍵,調出運行框,輸入cmd回車,再輸入Systeminfo,如下圖
同時按win+r鍵,調出運行框,輸入dxdiag,如下圖
同時按win+r鍵,調出運行框,輸入msinfo32,如下圖,這個可以查看的東西就太多了。
4、使用如魯大師(百度即可)、驅動精靈的都可以查看硬件信息。如下圖。
現在個人電腦硬件更新較快,比如常見的英特爾CPU現在已經出到第八代,i8開頭的。i3的都是比較老的cpu,性能也一般!老的奔騰、酷睿分支雖然也在跟進,但比較老的型號就不太好了, Pentium開頭的。英特爾M、N開頭的就更差了,為平板和上網本準備的處理器。
各位朋友,使用時請勿將重要信息給別人,比如一些硬件ID,IP等。
關注哦!
vba編程中,有時候需要獲取計算機系統信息,比如計算機名稱、ID、磁盤容量、磁盤類型等等,那么如何來實現這個功能呢?
下面講一下,關于獲取本地信息的一個簡單方法。
這里我們會用到一些很重要的函數(GetObject),這些函數內置在Excel應用中,只要調用即可。
其中還用到Win32_LogicalDisk class,也就是WMI下的一個類。
相關內容可以查看如下網址:
https://docs.microsoft.com/zh-cn/windows/win32/cimwin32prov/win32-logicaldisk?redirectedfrom=MSDN
本節內容相對比較難,需要掌握的知識有一些深度,其代碼可能不是十分好理解。
如果只是拿來用一下,直接用就可以,如果要更多地掌握其核心內容,可能要花費不少時間,而且還必須對操作系統有一個十分熟悉的認識。
特別是對于系統底層的一些磁盤結構有了解,還有就是要對注冊表相關構造也有認識,再來學習本節內容就相對容易多了。
上圖為一個例子,單擊按鈕自動查找出計算機的ID號來,ID號是每個計算機的身份識別,具有唯一性,就像個人身份證一樣。
還有一個功能就是列出本地硬盤的存儲信息,也就是存儲空間大小。
實現這個功能首先是對注冊表進行了一翻查找,找到相關信息后再和計算機屬性對比了一下。
然后利用GetObject函數調出對應數據,顯示到表格內。
其過程有點麻煩,實現最終結果卻毫無波瀾。
下面介紹一下代碼
將獲取計算機ID功能,做成一個函數來實現,只要打開Excel調用這個函數就可將ID顯示在表格里。
做得還是比較實用的,如果需要直接拿去調用即可。
Sub getSystemID() '''取計算機ID
Dim idObj, id,inobj
Set idObj=GetObject("winmgmts:{impersonationLevel=impersonate}") _
.InstancesOf("Win32_OperatingSystem")
For Each inobj In idObj
If inobj.SerialNumber <> "" Then 'SerialNumber 計算ID號
id=inobj.SerialNumber
End If
Next
ThisWorkbook.ActiveSheet.Range("B2").Value=id
End Sub
getobject()將返回win32_operatingsystem下一些相關信息,里面包含了計算機內置信息,有計算機名、系統版本號、ID等等各種你想要的。
詳細可查閱下圖
相對來說完成這個功能是有一些難度的,畢竟要掌握的知識點比較多,交叉內容也相對復雜,所以做了一些很全面的思考。
編碼過程中還有許多函數處理,就不一一貼出來了。
把最重要的部分,如何獲取硬盤信息函數分享出來。
Sub DiskSizes() '列出硬盤信息
Dim Disks, Sizes()
ReDim Sizes(0)
Set Disks=GetObject("winmgmts:{impersonationLevel=impersonate}") _
.InstancesOf("Win32_LogicalDisk")
For Each mo In Disks
If mo.Size <> "" Then
ReDim Preserve Sizes(UBound(Sizes) + 1)
Sizes(UBound(Sizes))=mo.Name & "_" & mo.Size
End If
Next
'''''''''''''''''''''''''''''' 保存至表格
ActiveSheet.Range("A2").Select
Dim i As Integer
For i=1 To UBound(Sizes)
With Selection.Offset(i, 0)
.Value=VBA.Left(Sizes(i), 2)
.Interior.Color=RGB(211, 211, 1)
.Borders.LineStyle=1
.RowHeight=30
.VerticalAlignment=xlCenter
.HorizontalAlignment=xlCenter
End With
With Selection.Offset(i, 1)
.Formula=VBA.Replace(Sizes(i), VBA.Left(Sizes(i), 2) & "_", "", 1)
.Interior.Color=RGB(211, 211, 1)
.Borders.LineStyle=1
.RowHeight=30
.NumberFormatLocal="0"
.VerticalAlignment=xlCenter
.HorizontalAlignment=xlRight
.IndentLevel=2 '縮進
End With
Next i
End Sub
功能雖簡單,但并不是說就很容易掌握,建議不是十分了解操作系統還是不要學習這個了,除沒有意義之外,再者就是學會了也不知道用來做什么。
但做為一個對系統有特別熱愛的人來說,就必須要掌握了,不過相對了解操作系統的人來說還是很容易的,那些你所知道或不知道的東西就是在那里,只要你去發現,它也沒不會亂跑,妥妥地拿出來。
對于靠近系統部分本不是vba的強項,所以我們要用到WMI技術,這就偏離了vba編程的常規路徑。
在Windows中可以使用 事件查看器 來查看相關日志,并結合日志ID進行日志篩選。常見的日志有:
下面以查看遠程連接的日志為例展示事件查看器的使用。
4934 - Active Directory 對象的屬性被復制
4935 -復制失敗開始
4936 -復制失敗結束
5136 -目錄服務對象已修改
5137 -目錄服務對象已創建
5138 -目錄服務對象已刪除
5139 -目錄服務對象已經移動
5141 -目錄服務對象已刪除
4932 -命名上下文的AD的副本同步已經開始
4933 -命名上下文的AD的副本同步已經結束
4634 - 帳戶被注銷
4647 - 用戶發起注銷
4624 - 帳戶已成功登錄
4625 - 帳戶登錄失敗
4648 - 試圖使用明確的憑證登錄
4675 - SID被過濾
4649 - 發現重放攻擊
4778 -會話被重新連接到Window Station
4779 -會話斷開連接到Window Station
4800 – 工作站被鎖定
4801 - 工作站被解鎖
4802 - 屏幕保護程序啟用
4803 -屏幕保護程序被禁用
5378 所要求的憑證代表是政策所不允許的
5632 要求對無線網絡進行驗證
5633 要求對有線網絡進行驗證
5140 - 網絡共享對象被訪問
4664 - 試圖創建一個硬鏈接
4985 - 交易狀態已經改變
5051 - 文件已被虛擬化
5031 - Windows防火墻服務阻止一個應用程序接收網絡中的入站連接
4698 -計劃任務已創建
4699 -計劃任務已刪除
4700 -計劃任務已啟用
4701 -計劃任務已停用
4702 -計劃任務已更新
4657 -注冊表值被修改
5039 -注冊表項被虛擬化
4660 -對象已刪除
4663 -試圖訪問一個對象
4715 - 對象上的審計政策(SACL)已經更改
4719 - 系統審計政策已經更改
4902 - Per-user審核政策表已經創建
4906 - CrashOnAuditFail值已經變化
4907 - 對象的審計設置已經更改
4706 - 創建到域的新信任
4707 - 到域的信任已經刪除
4713 - Kerberos政策已更改
4716 - 信任域信息已經修改
4717 - 系統安全訪問授予帳戶
4718 - 系統安全訪問從帳戶移除
4864 - 名字空間碰撞被刪除
4865 - 信任森林信息條目已添加
4866 - 信任森林信息條目已刪除
4867 - 信任森林信息條目已取消
4704 - 用戶權限已分配
4705 - 用戶權限已移除
4714 - 加密數據復原政策已取消
4944 - 當開啟Windows Firewall時下列政策啟用
4945 - 當開啟Windows Firewall時列入一個規則
4946 - 對Windows防火墻例外列表進行了修改,添加規則
4947 - 對Windows防火墻例外列表進行了修改,規則已修改
4948 - 對Windows防火墻例外列表進行了修改,規則已刪除
4949 - Windows防火墻設置已恢復到默認值
4950 - Windows防火墻設置已更改
4951 - 因為主要版本號碼不被Windows防火墻承認,規則已被忽視
4952 - 因為主要版本號碼不被Windows防火墻承認,部分規則已被忽視,將執行規則的其余部分
4953 - 因為Windows防火墻不能解析規則,規則被忽略
4954 - Windows防火墻組政策設置已經更改,將使用新設置
4956 - Windows防火墻已經更改主動資料
4957 - Windows防火墻不適用于以下規則
4958 - 因為該規則涉及的條目沒有被配置,Windows防火墻將不適用以下規則:
6144 - 組策略對象中的安全政策已經成功運用
6145 - 當處理組策略對象中的安全政策時發生一個或者多個錯誤
4670 - 對象的權限已更改
4672 - 給新登錄分配特權
4673 - 要求特權服務
4674 - 試圖對特權對象嘗試操作
審計系統事件
5024 - Windows防火墻服務已成功啟動
5025 - Windows防火墻服務已經被停止
5027 - Windows防火墻服務無法從本地存儲檢索安全政策,該服務將繼續執行目前的政策
5028 - Windows防火墻服務無法解析的新的安全政策,這項服務將繼續執行目前的政策
5029 - Windows防火墻服務無法初始化的驅動程序,這項服務將繼續執行目前的政策
5030 - Windows防火墻服務無法啟動
5032 - Windows防火墻無法通知用戶它阻止了接收入站連接的應用程序
5033 - Windows防火墻驅動程序已成功啟動
5034 - Windows防火墻驅動程序已經停止
5035 - Windows防火墻驅動程序未能啟動
5037 - Windows防火墻驅動程序檢測到關鍵運行錯誤,終止。
4608 -Windows正在啟動
4609 - Windows正在關機
4616 - 系統時間被改變
4621 - 管理員從CrashOnAuditFail回收系統,非管理員的用戶現在可以登錄,有些審計活動可能沒有被記錄
4697 - 系統中安裝服務器
4618 - 監測安全事件樣式已經發生
想查看所有事件的完整列表,請訪問微軟網站:Microsoft /加利福尼亞州消費者隱私法案(CCPA)選擇退出圖標