29 lines
1.2 KiB
PowerShell
Executable File
29 lines
1.2 KiB
PowerShell
Executable File
# 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 |