关于获取windows系统参数方法

简介:

  前一阵写了一个获取网络内主机类型的脚本,没有写任何解释类的说明直接发上来造成好多兄弟们有很多疑问。今天就拣几个有特点的功能说明一下。

   获取windows系统或者性能参数。

   在powershell出现之前系统管理员习惯用VB来实现获取以上参数的功能(当然现在也可以),但本次文章的重点主是说powershell怎么实现获取以上参数信息,Powershell提供了很多扩展的功能可以直接访问.net框架,WMI,COM自动化和API的调用等。

   下面我们举例说明一哈通过WMI获取主机的内存信息:

   1获取本地主机空余内存大小:

1
2
[PS]  C:\>(GWMI win32_OperatingSystem).FreePhysicalMemory
1245384

   2获取本地主机的总内存大小:

1
2
[PS]  C:\>(GWMI win32_OperatingSystem).TotalVisibleMemorySize
4166596

   3如果我们想查看还能查看还有哪些类可以获取,按如下操作就可以看到:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[PS]  C:\>GWMI win32_OperatingSystem |  Get-Member
    TypeName: System.Management.ManagementObject #root\cimv2\Win32_OperatingSystem
Name                                      MemberType   Definition
----                                      ----------   ----------
Reboot                                    Method       System.Management.ManagementBaseObject Reboot()
SetDateTime                               Method       System.Management.ManagementBaseObject SetDateTime(System.String LocalDateTi
Shutdown                                  Method       System.Management.ManagementBaseObject Shutdown()
Win32Shutdown                             Method       System.Management.ManagementBaseObject Win32Shutdown(System.Int32 Flags, Sys
Win32ShutdownTracker                      Method       System.Management.ManagementBaseObject Win32ShutdownTracker(System.UInt32 Ti
BootDevice                                Property     System.String BootDevice {get;set;}
BuildNumber                               Property     System.String BuildNumber {get;set;}
BuildType                                 Property     System.String BuildType {get;set;}
Caption                                   Property     System.String Caption {get;set;}
CodeSet                                   Property     System.String CodeSet {get;set;}
CountryCode                               Property     System.String CountryCode {get;set;}
CreationClassName                         Property     System.String CreationClassName {get;set;}
CSCreationClassName                       Property     System.String CSCreationClassName {get;set;}
CSDVersion                                Property     System.String CSDVersion {get;set;}
CSName                                    Property     System.String CSName {get;set;}
CurrentTimeZone                           Property     System.Int16 CurrentTimeZone {get;set;}
DataExecutionPrevention_32BitApplications Property     System.Boolean DataExecutionPrevention_32BitApplications {get;set;}
DataExecutionPrevention_Available         Property     System.Boolean DataExecutionPrevention_Available {get;set;}
DataExecutionPrevention_Drivers           Property     System.Boolean DataExecutionPrevention_Drivers {get;set;}
DataExecutionPrevention_SupportPolicy     Property     System.Byte DataExecutionPrevention_SupportPolicy {get;set;}
Debug                                     Property     System.Boolean Debug {get;set;}
Description                               Property     System.String Description {get;set;}
Distributed                               Property     System.Boolean Distributed {get;set;}
EncryptionLevel                           Property     System.UInt32 EncryptionLevel {get;set;}
ForegroundApplicationBoost                Property     System.Byte ForegroundApplicationBoost {get;set;}
FreePhysicalMemory                        Property     System.UInt64 FreePhysicalMemory {get;set;}
FreeSpaceInPagingFiles                    Property     System.UInt64 FreeSpaceInPagingFiles {get;set;}
FreeVirtualMemory                         Property     System.UInt64 FreeVirtualMemory {get;set;}
InstallDate                               Property     System.String InstallDate {get;set;}
LargeSystemCache                          Property     System.UInt32 LargeSystemCache {get;set;}
LastBootUpTime                            Property     System.String LastBootUpTime {get;set;}
LocalDateTime                             Property     System.String LocalDateTime {get;set;}
Locale                                    Property     System.String Locale {get;set;}
Manufacturer                              Property     System.String Manufacturer {get;set;}
MaxNumberOfProcesses                      Property     System.UInt32 MaxNumberOfProcesses {get;set;}
MaxProcessMemorySize                      Property     System.UInt64 MaxProcessMemorySize {get;set;}
MUILanguages                              Property     System.String[] MUILanguages {get;set;}
Name                                      Property     System.String Name {get;set;}
NumberOfLicensedUsers                     Property     System.UInt32 NumberOfLicensedUsers {get;set;}
NumberOfProcesses                         Property     System.UInt32 NumberOfProcesses {get;set;}
NumberOfUsers                             Property     System.UInt32 NumberOfUsers {get;set;}
OperatingSystemSKU                        Property     System.UInt32 OperatingSystemSKU {get;set;}
Organization                              Property     System.String Organization {get;set;}
OSArchitecture                            Property     System.String OSArchitecture {get;set;}
OSLanguage                                Property     System.UInt32 OSLanguage {get;set;}
OSProductSuite                            Property     System.UInt32 OSProductSuite {get;set;}
OSType                                    Property     System.UInt16 OSType {get;set;}
OtherTypeDescription                      Property     System.String OtherTypeDescription {get;set;}
PAEEnabled                                Property     System.Boolean PAEEnabled {get;set;}
PlusProductID                             Property     System.String PlusProductID {get;set;}
PlusVersionNumber                         Property     System.String PlusVersionNumber {get;set;}
Primary                                   Property     System.Boolean Primary {get;set;}
ProductType                               Property     System.UInt32 ProductType {get;set;}
RegisteredUser                            Property     System.String RegisteredUser {get;set;}
SerialNumber                              Property     System.String SerialNumber {get;set;}
ServicePackMajorVersion                   Property     System.UInt16 ServicePackMajorVersion {get;set;}
ServicePackMinorVersion                   Property     System.UInt16 ServicePackMinorVersion {get;set;}
SizeStoredInPagingFiles                   Property     System.UInt64 SizeStoredInPagingFiles {get;set;}
Status                                    Property     System.String Status {get;set;}
SuiteMask                                 Property     System.UInt32 SuiteMask {get;set;}
SystemDevice                              Property     System.String SystemDevice {get;set;}
SystemDirectory                           Property     System.String SystemDirectory {get;set;}
SystemDrive                               Property     System.String SystemDrive {get;set;}
TotalSwapSpaceSize                        Property     System.UInt64 TotalSwapSpaceSize {get;set;}
TotalVirtualMemorySize                    Property     System.UInt64 TotalVirtualMemorySize {get;set;}
TotalVisibleMemorySize                    Property     System.UInt64 TotalVisibleMemorySize {get;set;}
Version                                   Property     System.String Version {get;set;}
WindowsDirectory                          Property     System.String WindowsDirectory {get;set;}
__CLASS                                   Property     System.String __CLASS {get;set;}
__DERIVATION                              Property     System.String[] __DERIVATION {get;set;}
__DYNASTY                                 Property     System.String __DYNASTY {get;set;}
__GENUS                                   Property     System.Int32 __GENUS {get;set;}
__NAMESPACE                               Property     System.String __NAMESPACE {get;set;}
__PATH                                    Property     System.String __PATH {get;set;}
__PROPERTY_COUNT                          Property     System.Int32 __PROPERTY_COUNT {get;set;}
__RELPATH                                 Property     System.String __RELPATH {get;set;}
__SERVER                                  Property     System.String __SERVER {get;set;}
__SUPERCLASS                              Property     System.String __SUPERCLASS {get;set;}
FREE                                      PropertySet  FREE {FreePhysicalMemory, FreeSpaceInPagingFiles, FreeVirtualMemory, Name}
PSStatus                                  PropertySet  PSStatus {Status, Name}
ConvertFromDateTime                       ScriptMethod System.Object ConvertFromDateTime();
ConvertToDateTime                         ScriptMethod System.Object ConvertToDateTime();


  4 如果我们想获取远程主机的参数应该怎么操作呢只需加上-computer参数比如:

1
2
[PS]  C:\>(GWMI  -computer  bjexfe01  win32_OperatingSystem).TotalVisibleMemorySize
33543988



本文转自handsome7038 51CTO博客,原文链接:http://blog.51cto.com/lixiaosong/1357271
相关文章
|
2月前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
304 4
|
2月前
|
安全 Windows
永久关闭 Windows 11 系统更新
永久关闭 Windows 11 系统更新
151 0
|
27天前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
67 32
|
1月前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
92 13
如何配置Windows主机MPIO多路径访问存储系统
|
17天前
|
存储 缓存 安全
硬盘数据恢复:恢复硬盘数据的9个实用方法(Windows版)
无论是工作文档、家庭照片,还是其他珍贵的数字资产,数据丢失总是一件让人头疼的事情。然而,当硬盘发生问题时,不必过于慌张——只要正确应对,许多数据都可以被成功恢复。本文将从常见数据丢失原因到具体恢复方法,为您提供全面的硬盘数据恢复指导。
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
|
2月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
2月前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
2月前
|
运维 网络安全 虚拟化
Windows系统镜像检测修复建议
Windows系统镜像检测修复建议