Powershell:Foreach输入
我被困在一些我知道很简单的事情上,但我一生都搞不懂 我正在尝试导入一个包含主机名列表的.txt文件,一旦检索该文件,脚本将返回安装的totalphysicalmemory的数量 到目前为止,我有:Powershell:Foreach输入,powershell,foreach,ram,Powershell,Foreach,Ram,我被困在一些我知道很简单的事情上,但我一生都搞不懂 我正在尝试导入一个包含主机名列表的.txt文件,一旦检索该文件,脚本将返回安装的totalphysicalmemory的数量 到目前为止,我有: function get { $boxes = Get-Content C:\Temp\hostnamesforRAM.txt foreach($box in $boxes) { Get-WmiObject Win32_ComputerSystem | select TotalPhysicalMemo
function get
{
$boxes = Get-Content C:\Temp\hostnamesforRAM.txt
foreach($box in $boxes)
{
Get-WmiObject Win32_ComputerSystem | select TotalPhysicalMemory
}
}
get
但是,它只返回以下内容:
4151570432
4151570432
4151570432
4151570432
4151570432
有什么想法吗
谢谢您需要将当前主机名($box)传递给computerName参数,如果没有它,您将从自己的计算机获取值
function get
{
$boxes = Get-Content C:\Temp\hostnamesforRAM.txt
foreach($box in $boxes)
{
Get-WmiObject Win32_ComputerSystem -ComputerName $box | select TotalPhysicalMemory
}
}
get
另一种更简短的方法是将文件内容传递给ComputerName参数。ComputerName参数接受一组名称:
Get-WmiObject Win32_ComputerSystem -ComputerName (Get-Content C:\Temp\hostnamesforRAM.txt) |
Select-Object Name,TotalPhysicalMemory
您需要将当前主机名($box)传递给computerName参数,没有它,您将从自己的计算机获取值
function get
{
$boxes = Get-Content C:\Temp\hostnamesforRAM.txt
foreach($box in $boxes)
{
Get-WmiObject Win32_ComputerSystem -ComputerName $box | select TotalPhysicalMemory
}
}
get
另一种更简短的方法是将文件内容传递给ComputerName参数。ComputerName参数接受一组名称:
Get-WmiObject Win32_ComputerSystem -ComputerName (Get-Content C:\Temp\hostnamesforRAM.txt) |
Select-Object Name,TotalPhysicalMemory
试一试
试一试
这是
TotalPhysicalMemory
以字节为单位,要获取特殊的计算机信息,请将computername
添加到命令get WmiObject
,并使用正确的变量名($box):
Get WmiObject-computername$box Win32\u ComputerSystem
这是TotalPhysicalMemory
以字节为单位,要获取特殊的计算机信息,请将computername
添加到命令Get WmiObject
,并使用正确的变量名($box):
获取WmiObject-computername$box Win32\u ComputerSystem
谢谢您的回复。我尝试了您的建议,但它返回错误“无法验证参数“ComputerName”上的参数。该参数为null或空”迭代器变量名称错误,请使用-ComputerName$box
,而不是-ComputerName$谢谢@akim,我正在使用管道示例@如果我更新了我的答案,现在试试看。用$box代替$\我尝试了你的简短答案,效果非常好!谢谢谢伊和所有人的建议!谢谢你的回复,谢伊。我尝试了您的建议,但它返回错误“无法验证参数“ComputerName”上的参数。该参数为null或空”迭代器变量名称错误,请使用-ComputerName$box
,而不是-ComputerName$谢谢@akim,我正在使用管道示例@如果我更新了我的答案,现在试试看。用$box代替$\我尝试了你的简短答案,效果非常好!谢谢谢伊和所有人的建议!