- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的脚本成功地从我在 hostnames.txt
中提供的每台计算机上获取了制造商、型号、序列号和操作系统。但是,它很慢,因为它必须连接到每台计算机上的 WMI 三次。
$OS = Get-WmiObject Win32_OperatingSystem -ComputerName $Computer
$CS = Get-WmiObject Win32_ComputerSystem -ComputerName $Computer
$BIOS = Get-WmiObject Win32_Bios -ComputerName $Computer
使用 PowerShell,如何连接到远程计算机的 WMI 一次并使用相同的连接执行三个查询?
$Array = @() ## Create Array to hold the Data
$Computers = Get-Content -Path .\hostnames.txt
foreach ($Computer in $Computers)
{
$Result = "" | Select HostPS,Mfg,Model,Serial,OS
$Result.HostPS = $Computer
$ErrorActionPreference = "SilentlyContinue" ## Don't output errors for offline computers
$OS = Get-WmiObject Win32_OperatingSystem -ComputerName $Computer
$CS = Get-WmiObject Win32_ComputerSystem -ComputerName $Computer
$BIOS = Get-WmiObject Win32_Bios -ComputerName $Computer
$ErrorActionPreference = "Continue"
$Result.Mfg = $CS.Manufacturer
$Result.Model = $CS.Model
$Result.Serial = $BIOS.SerialNumber
$Result.OS = $OS.Caption
$Array += $Result ## Add the data to the array
}
$Array | Export-Csv file.csv -NoTypeInformation
最佳答案
您可以使用 CIM(它有一个 session 选项),more on CIM vs WMI (“WMI 是 Microsoft 为 Windows 平台实现的 CIM”)
$CIMSession = New-CimSession -ComputerName $RemoteComputer
Get-CimInstance win32_OperatingSystem -CimSession $CIMSession -Property Caption
Get-CimInstance Win32_ComputerSystem -CimSession $CIMSession -Property Manufacturer,Model
Get-CimInstance Win32_Bios -CimSession $CIMSession -Property SerialNumber
关于powershell - 多个 Get-WmiObject 调用的单一连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53015448/
在我们的其中一台生产服务器上,我在运行脚本时开始出现错误。剥离代码,我在 PowerShell 提示符下运行此命令时收到错误: Get-WmiObject -Class win32_volume 结果
我有一个包含以下行的 Powershell 脚本: $package = Get-WmiObject -Class Win32_Product -ComputerName $TargetServer
我有以下代码行... get-wmiobject -class win32_computersystem | select-object username 它返回(用占位符编辑)...... @{us
在 PowerShell 中,您可以使用 Get-WmiObject cmdlet 来获取 WMI 类。 我注意到我只能访问 win32 classes ,我可以在 PowerShell 中访问除 w
下面的脚本成功地从我在 hostnames.txt 中提供的每台计算机上获取了制造商、型号、序列号和操作系统。但是,它很慢,因为它必须连接到每台计算机上的 WMI 三次。 $OS = Get-WmiO
我在Powershell中运行它 PS C:\>Get-WmiObject -query "select * from Win32_OptionalFeature where name = 'Rem
我正在尝试将计算机上已安装的应用程序列表放入列表框,到目前为止,我有以下内容: function programsinstalled_current { $prog = get-wmiobject w
我有一个PowerShell脚本,该脚本将从API中提取保修信息并将其保存到自定义WMI类。 然后,我会将这些数据带入RMM工具中,以便将其与我们的PSA解决方案同步,从而自动/更新保修终止日期以进行
我正在尝试使用Get-WmiObject检索特定驱动器的FreeSpace。 在我的计算机上使用Get-WmiObject Win32_logicaldisk返回以下内容: PS C:\Users\J
我运行一个执行许多 WMI 查询的脚本 - 但如果服务器不应答,则 cmdlet 会挂起。有什么办法可以让这个(或任何其他与此相关的 cmdlet)超时并在 X 秒过去后退出? 编辑 感谢 mjoli
我正在编写一个需要查询WMI的Windows python程序。我计划通过使用子进程模块使用我需要的参数调用 WMIC 来实现此目的。 我在网上看到很多通过 PowerShell 使用 WMI 的示例
我正在编写一个脚本来提取 RAM 信息。它当前导出接受的最大 Ram、Ram 插槽、安装的 Ram 棒、安装的总 RAM、计算机名称和登录用户。 我正在尝试将 speed 属性添加到输出文件中,但出于
我有一个命名空间,我想在代码中进一步针对它运行 Get-WmiObject 之前使用它来验证 WMI 对象的存在。例如,我想将 SSRS 2012 的命名空间扔给它,如果它在机器上不存在,那么我将尝试
我想将“GB”添加到“Size”的每个实例,以便每个输出显示“8GB”。我不确定如何将字符串添加或连接到表中的整数... 我试过简单地添加 +"GB",将 "GB"分配给变量,然后添加 + $GB。但
阅读后,我对这些之间的关系感到困惑。我不相信gwmi是 Get-WmiObject 的纯别名,因为它们在我见过的示例中似乎共享相似但不相同的语法。 有趣的是,当我自己用谷歌搜索“gwmi”时,所有 H
所以这是 powershell: $app = Get-WmiObject -Class SMS_UserApplicationRequest -Namespace root/SMS/site_sit
我知道 -List 获取 WMI 存储库命名空间中 WMI 类的名称,但我不太明白它在以下上下文中的含义: (Get-WmiObject -list Win32_ShadowCopy).Create(
可能是个愚蠢的问题,但我只是好奇。 在为 Win32_Product 类下的应用程序调用卸载时,Get-CIMInstance 和 Get-WMIObject 之间有区别吗?我问的唯一原因是因为: 使
Get-WMIObject Win32_CDROMdrive | Select MediaLoaded 告诉我CD驱动器中是否装有CD,做得非常好。它返回以下内容: 媒体加载 -----------
有没有办法指定 -Filter使用 WMI 查询语言 (WQL) 的 Get-WmiObject cmdlet 的参数,以根据用于调用进程的“命令行”进行过滤? “命令行”是指 Windows 任务管
我是一名优秀的程序员,十分优秀!