Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powershell wmi到html重复对象-以及如何使用wmi添加驱动器号?_Html_Powershell_Wmi - Fatal编程技术网

powershell wmi到html重复对象-以及如何使用wmi添加驱动器号?

powershell wmi到html重复对象-以及如何使用wmi添加驱动器号?,html,powershell,wmi,Html,Powershell,Wmi,我为send me system info创建了此启动脚本,并在计算机上有3个分区时3次获取所有属性: $hostname=$env:computername $file1=\\**UNC***\$hostname.1.csv $file2=\\*******UNC******\$hostname.2.csv $compinfo=@ $computerSystem=获取wmiobject Win32\u computerSystem $computerBIOS=获取wmiobject Win32

我为send me system info创建了此启动脚本,并在计算机上有3个分区时3次获取所有属性:

$hostname=$env:computername $file1=\\**UNC***\$hostname.1.csv $file2=\\*******UNC******\$hostname.2.csv $compinfo=@ $computerSystem=获取wmiobject Win32\u computerSystem $computerBIOS=获取wmiobject Win32\u BIOS $computerOS=获取wmiobject Win32\u操作系统 $computerCPU=获取wmiobject Win32\u处理器 $computerHDD=获取WmiObject Win32_LogicalDisk-筛选器驱动器类型=3 $colItems=Get WmiObject Win32_networkadapter配置-Filter IpEnabled=TRUE 构建对象 ForEach$HDD在$computerHDD中{ $compinfo+=新对象PSObject-property@{ PCName=$computerSystem.Name 制造商=$computerSystem.Manufacturer Model=$computerSystem.Model SerialNumber=$computerBIOS.SerialNumber RAM={0:N2}-f$computerSystem.TotalPhysicalMemory/1GB HDDSize={0:N2}-f$HDD.Size/1GB HDDFree={0:P2}-f$HDD.FreeSpace/$HDD.Size CPU=$computerCPU.Name OS=$computerOS.caption SP=$computerOS.ServicePackMajorVersion User=$computerSystem.UserName 启动时间=$computerOS.ConvertToDateTime$computerOS.LastBootUpTime IP_地址=[string]$colItems.IpAddress MAC_地址=[string]$colItems.MacAddress Default_Gateway=[string]$colItems.DefaultIpGateway DNS_域=$colItems.DNSDomain DHCP_Enabled=$colItems.DHCPEnabled } } 用于windows更新的wmi $Session=新对象-ComObject Microsoft.Update.Session $Searcher=$Session.CreateUpdateSearcher $historyCount=$Searcher.GetTotalHistoryCount $Searcher.QueryHistory0,$historyCount |选择对象标题、描述、日期|导出Csv$file2-NoTypeInformation $hotfix1=导入Csv$file1 $hotfix2=导入Csv$file2 风格: 更新样式 $style=@ 已安装的更新: 表{边框:1px纯黑色;边框折叠:折叠;} TH{边框:1px纯黑色;背景:B0E0E0;填充:5px;} TD{边框:1px纯黑色;填充:5px;} @ 服务风格 $style2=@ 服务报告: 表{边框:1px纯黑色;边框折叠:折叠;} TH{边框:1px纯黑色;背景:B0E0E0;填充:5px;} TD{边框:1px纯黑色;填充:5px;} @ 系统信息的样式 $style4=@ 系统信息: 表{边框:1px纯黑色;边框折叠:折叠;} TH{边框:1px纯黑色;背景:B0E0E0;填充:5px;} TD{边框:1px纯黑色;填充:5px;} @ 检查旧文件是否第一次运行脚本。 $oldfile=\\*******UNC****\$hostname.old.csv $TestPath=测试路径$oldfile 如果$测试路径{ $text=此计算机上的第一次脚本..无法获取更新状态 } 其他的 { $text=未安装任何更新! } 此样式在未找到更新或首次运行脚本时使用。 $style3=@ 已安装的更新: $text

@ $Compare=比较对象-引用对象$hotfix2-差异对象$hotfix1-属性标题、说明、日期|选择对象标题、说明、日期 $Service=获取服务|选择对象名称、显示名称、状态|排序对象状态-降序 $compinfo |选择-属性HDDFree、HDDSize、Ram、OS、CPU、SP、IP地址、Mac地址、引导时间、启用DHCP 发送邮件: $smtpServer=***** $smtpFrom=********** $smtpTo=************** $messageSubject=$hostname已启动! $message=New Object System.Net.Mail.MailMessage$smtpfrom$smtpto $message.Subject=$messageSubject $message.IsBodyHTML=$true If$compare-eq$null{ $Compare=converttohtml-Head$style3 $message.Body=$Compare $message.Body+=$Service |转换为Html-Head$style2 $message.Body+=$cominfovar |转换为Html-作为表格-标题$style4 } 其他的 { $message.Body=$Compare | ConvertTo Html-Head$style $message.Body+=$Service |转换为Html-Head$style2 $message.Body+=$cominfovar |转换为Html-作为表格-标题$style4 } $smtp=新对象Net.Mail.SmtpClient$smtpServer $smtp。发送$message 删除旧文件 del\\****UNC******\$hostname.old.csv 重命名项$file1\\**********UNC*********\$hostname.old.csv 重命名项$file2$file1 我发布了所有的脚本,我确信我在powershell中有很多新的mstakes 表输出中重复属性的解决方案是什么? 您能帮我在系统信息中添加驱动器号吗? 脚本的任何升级都会很有帮助,就像其他有用的系统信息一样…

您的foreach循环会针对每个逻辑磁盘(即计算机中的分区/卷)运行:

$computerHDD=获取WmiObject Win32_LogicalDisk-筛选器驱动器类型=3 ... ForEach$HDD在$computerHDD中{ $compinfo+=。。。 } 输出应报告大小和可用空间 但是,每个分区的。属性DeviceID将为您提供分配给逻辑磁盘的驱动器号


如果需要物理磁盘的大小而不是分区的大小,则需要查询该类。但是请注意,该类不提供可用磁盘空间信息,因为它不知道有关文件或它们使用的空间的任何信息。

谢谢,我将把它添加到脚本中