如many Azure Quick Start examples所示,通常使用Get-NetAdapter
来获取DNS配置等网络接口名称。这是一个例子:
configuration MyConfig
{
$Interface=Get-NetAdapter|Where Name -Like "Ethernet*"|Select-Object -First 1
$InterfaceAlias=$($Interface.Name)
Node localhost
{
xDnsServerAddress DnsServerAddress
{
Address = $DNSServer
InterfaceAlias = $InterfaceAlias
AddressFamily = 'IPv4'
}
}
}
如果命令Get-NetAdapter
在我的配置中并且配置由Azure自动化编译,则会收到以下错误:
无法连接到CIM服务器。指定的服务不作为已安装的服务存在。
有解决方法吗?
答案 0 :(得分:0)
试试这个:
xDnsServerAddress DnsServerAddress
{
Address = $DNSServer
InterfaceAlias = (Get-NetAdapter | ? name -Like "Ethernet*" | select -First 1).Name
AddressFamily = 'IPv4'
}
答案 1 :(得分:0)
Get-NetAdapter内部使用WMI获取在Azure自动化中无效的信息。但是,您可以使用get-netipinterface cmdlet获取有关适配器的信息。
答案 2 :(得分:0)
答案是 - 它不可能。配置是在Azure自动化服务器上编译的,而不是目标节点。即使我找到了在配置中获取网络适配器名称的方法,它也会在DSC拉取服务器上获得适配器的名称,而不是目标节点。
如果每个节点使用1个配置,并且您在目标节点上预编译然后将其上载到Azure自动化,则问题中的代码将起作用。