![](/img/trans.png)
[英]How to assign a reserved IP address to a cloud service on Azure using Powershell 7?
[英]Assign a static IP address using PowerShell
我是 PowerShell 的初学者。 我正在尝试获取下面的两行代码,这些代码是我在 PowerShell 5 中运行的另一个答案中找到的。
$netAdapter = Get-WmiObject Win32_NetworkAdapterConfiguration | where {$_.MACAddress -eq '0F:98:90:D6:42:92'}
$netAdapter.EnableStatic("192.168.1.1", "255.255.255.0")
是否需要额外的代码才能正确执行?
我收到错误消息“您不能在空值表达式上调用方法”。 当我尝试使用它时。 我用我的设备和网络的数据替换了 MAC 地址和 IP 地址。 我认为也许第二个命令返回一个值,但如果这是问题,我无法弄清楚数据类型。
过去,我使用 Bootp 进行 IP 地址分配,其中非 PC 设备只有一个 MAC 地址,没有有效的 IP 地址。 Bootp 没有为我的设备显示广播,但我可以在 WireShark 中看到它。
关于您的代码片段,我不能多说,但我个人会尽可能避免通过 Get-WmiObject 进行“转移”。 在这种情况下,这也很容易实现。
这段代码:
$netAdapter = Get-NetAdapter | Where-Object {$_.MacAddress -eq '0F:98:90:D6:42:92'}
New-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $netAdapter.ifIndex -IPAddress 192.168.1.1 -PrefixLength 24
没有 Wmi 是 100% PowerShell 并且应该可以正常工作。 (需要管理员权限,这可能已经是您的代码的问题)。
在给接口设置IP地址之前,必须知道接口的属性。 要了解接口属性,请使用以下命令。
Get-NetIPAddress
它将 output 显示为
如果您有多个接口,您将获得接口属性列表。
从属性中,您可以记下接口索引值。 然后您可以使用以下命令设置 IP 地址。
如果您在第一次使用命令时将 IP 地址设置为
New-NetIPAddress -IPAddress 192.168.10.100 -PrefixLength 24 -DefaultGateway 192.168.10.1 -InterfaceIndex 4
要修改现有的 static IP 地址,请使用以下命令
Set-NetIPAddress -IPAddress 192.168.10.100 -PrefixLength 24 -DefaultGateway 192.168.10.1 -InterfaceIndex 4
要设置主要 DNS 和次要 DNS 使用以下命令
Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses ('4.2.2.2','8.8.8.8')
要获取 IP 地址和 DNS 的更新 output,请使用以下命令
Get-DnsClientServerAddress
Get-NetIPAddress
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.