我正在嘗試使用CSV文件進行PowerShell自動計算機命名。我們的計算機名稱帶有一般型號,它告訴我計算機的實際類型。例如,型號#2537CU1是聯想T410。我想拉動型號並將變量更改爲T410。Powershell - 基於CSV文件更改變量
我已經可以通過調用計算機系統類的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
如何翻譯WMI調用帶來的「模型」並將其更改爲CSV中的「類型」。類型是我真正想要的。所以WMI調用給我例如3257CU1(模型)。我希望將我的變量轉換爲T410(類型)。 – LiquidCourage11
因爲我需要「類型」信息,所以我使用了你的Where-Object行並進一步瞭解。由於回覆不能包含代碼片段,因此在下面的答案中發佈代碼。 – LiquidCourage11
$ model = Get-WmiObject -Class Win32_ComputerSystem |選擇-ExpandProperty Model $ modelType = Import-Csv -Path「C:\ TechDiv \ ComputerModel_Type.csv」| Where-Object {$ _。Model -eq $ model} |選擇-ExpandProperty類型 – LiquidCourage11