【发布时间】:2013-12-26 23:19:24
【问题描述】:
我正在尝试使用 CSV 文件通过 powershell 自动命名计算机。我们的计算机名称带有通用型号,可以告诉我计算机的实际类型。例如,型号 #2537CU1 是联想 T410。我想拉取型号并将变量更改为T410。
我已经可以通过对计算机系统类的 get-wmiobject 调用来获取型号,但是要使用“类型”数据创建一个变量,例如 T410,我必须使用一堆 If 和 elseif 语句。这是由于我们支持的绝对数量或型号/类型。我的目标是编辑 CSV 而不是脚本本身。我只想让相应的模型为机器的“类型”获取正确的变量。
所以这是我的头到目前为止的地方,我知道我已经走了:
$model = Get-WmiObject -Class Win32_ComputerSystem | select -ExpandProperty Model
$modelCSV = "0"
$typeCSV = "0"
Import-Csv -Path "C:\TechDiv\ComputerModel_Type.csv" |
ForEach-Object {
$modelCSV += $_.Model
$typeCSV += $_.Type
}
if ($modelCSV -like $model)
{
$model = $typeCSV
}
我的 CSV 文件如下所示:
Model, Type
0401B7U, A70Z
0401R6U, A70Z
1165A3U, A70Z
25521H8, 0E31
2552Ck1, 0E31
7360, 0M58
7483, 0M58
7630, 0M58
最终我的电脑命名脚本会将型号和序列号连接起来,以便于收集和更新。型号/序列号示例(0 填充左侧序列号以填充 10 个空格):T410000R84D06Z
【问题讨论】:
标签: variables powershell csv wmi