我有一个像这样的txt文件
PC1 192.168.0.2 PC2 192.168.0.3 PC3 192.168.0.4
我想根据该列表更改计算机的IP地址,所以它会填满计算机名称和IP地址,并处理它们都没有手动更改值,我有问题得到这个工作“仍在学习PowerShell”
$wmi = Get-WmiObject -ComputerName ??? win32_networkadapterconfiguration -filter "ipenabled = 'true'" $wmi.SetGateways("192.168.0.1", 1) $wmi.EnableStatic("?????", "255.255.255.0")
有什么帮助吗?
如果您的txt文件只是[computername] [ip-address]的空格分隔列表,则可以使用Import-Csv cmdlet :
$Computers = Import-Csv -Path C:\file.txt -Delimiter " " -Header Name,IP foreach($Computer in $Computers){ # Query $Computer.Name # Assign $Computer.IP as the static address }
Mathias的答案非常适合于这个问题。 然而,实现这一目标的更好,更可维护的方法是使用具有预留的DHCP服务器。