29 lines
1.2 KiB
PowerShell
29 lines
1.2 KiB
PowerShell
|
# Look up computer name from mac address in a file
|
|||
|
# Based on Set-ComputerName from:
|
|||
|
# https://kristopherjturner.com/2017/02/01/automating-computer-naming-after-deploying-windows-10-images/
|
|||
|
|
|||
|
$FileName = "ComputerList.csv"
|
|||
|
|
|||
|
$scriptPath = Split-Path $script:MyInvocation.MyCommand.Path
|
|||
|
|
|||
|
$thisComputerMAC = Get-WmiObject win32_networkadapterconfiguration -Filter 'ipenabled = "true"' | Select-Object MACAddress
|
|||
|
$ComputerList = Import-Csv -Path "$scriptPath\$FileName"
|
|||
|
|
|||
|
# look up computer name by MAC address
|
|||
|
ForEach ($Computer in $ComputerList) {
|
|||
|
Write-Host "$($Computer.CN) $($Computer.MAC) $thisComputerMac"
|
|||
|
If ($thisComputerMAC -match $Computer.MAC) {
|
|||
|
Write-Host "$($Computer.CN) matches the localhost MAC Address: $thisComputerMAC"
|
|||
|
$NewComputerName = $Computer.CN
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# if computer isn’t on list, ask for a name
|
|||
|
If ($Null -eq $NewComputerName) {
|
|||
|
Write-Host "Computer is not found in computer list." -ForegroundColor Red
|
|||
|
$NewComputerName = Read-Host -Prompt "Please enter desired computer name then hit enter"
|
|||
|
}
|
|||
|
|
|||
|
# rename computer
|
|||
|
Write-Host "Computer will be renamed to $NewComputerName."
|
|||
|
Rename-Computer -NewName $NewComputerName -Force -Verbose
|