Используется Windows Server 2012 R2.
Цель - установить IPv4-адрес сервера. Как правильно указывает DSC в подробном сообщении ниже, ожидаемый [ip] 192.168.0.203, а фактический [ip] 192.168.0.205
Следующее сообщение об ошибке:
Start-DscConfiguration -Path .\BasicServer -Verbose -Wait -Force
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' =
MSFT_DSCLocalConfigurationManager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer ComputerName with user sid S-1-5-21-139086020-2308268882-217435134-1104.
VERBOSE: [ComputerName]: LCM: [ Start Set ]
VERBOSE: [ComputerName]: LCM: [ Start Resource ] [[xIPAddress]IPAddress]
VERBOSE: [ComputerName]: LCM: [ Start Test ] [[xIPAddress]IPAddress]
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] Checking the IPAddress ...
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] IPAddress not correct. Expected 192.168.0.203, actual 192.168.0.205
VERBOSE: [ComputerName]: LCM: [ End Test ] [[xIPAddress]IPAddress] in 0.0310 seconds.
VERBOSE: [ComputerName]: LCM: [ Start Set ] [[xIPAddress]IPAddress]
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] Checking the IPAddress ...
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] IPAddress not correct. Expected 192.168.0.203, actual 192.168.0.205
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] Setting IPAddress ...
VERBOSE: [ComputerName]: [[xIPAddress]IPAddress] Instance DefaultGateway already exists
VERBOSE: [ComputerName]: LCM: [ End Set ] [[xIPAddress]IPAddress] in 0.0620 seconds.
PowerShell DSC resource MSFT_xIPAddress failed to execute Set-TargetResource functionality with error message: Can not set or find valid IPAddress using
InterfaceAlias Ethernet and AddressFamily IPv4
+ CategoryInfo : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : ProviderOperationExecutionFailure
+ PSComputerName : ComputerName.domain.com
The SendConfigurationApply function did not succeed.
+ CategoryInfo : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : MI RESULT 1
+ PSComputerName : ComputerName.domain.com
VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 0.268 seconds
... выдается при применении следующей конфигурации xNetworking DSC:
Import-DscResource -Module xNetworking
Node $NodeFQDN {
xIPAddress IPAddress {
InterfaceAlias = "Ethernet"
IPAddress = $IPv4
AddressFamily = "IPV4"
DefaultGateway = '192.168.0.1'
SubnetMask = 24
}}
где $ IPv4 = '192.168.0.203'.
Я заметил, что Local Configuration Manager поддерживает Test-DSCConfiguration, но не может применять какие-либо изменения, связанные с IP. Я проверил это, запустив конфигурацию выше в системе, когда IP уже установлен правильно.
Сообщение «Не удается установить или найти действительный IP-адрес с помощью InterfaceAlias Ethernet и AddressFamily IPv4» сбивает с толку, поскольку LCM, очевидно, смог найти адаптер во время операции Test-DSCConfiguration.
Есть какие-нибудь подсказки относительно того, почему Local Configuration Manager не может применить конфигурацию? Что я не вижу?
Решением было удалить шлюз по умолчанию из конфигурации: DefaultGateway = '192.168.0.1'
Похоже, что если есть какие-либо конфигурации в дополнение к основным (IPAddress, InterfaceAlias, SubnetMask, AddressFamily), DSC сосредоточится на дополнительных элементах и рассматривает базовые как ссылки. Обратите внимание на следующее:
xIPAddress IPAddress {
InterfaceAlias = 'Ethernet'
IPAddress = '192.168.0.203'
AddressFamily = 'IPV4'
SubnetMask = 24
}
Приведенная выше конфигурация установит IP-адрес 192.168.0.203.
xIPAddress IPAddress {
InterfaceAlias = 'Ethernet'
IPAddress = '192.168.0.203'
AddressFamily = 'IPV4'
SubnetMask = 24
DefaultGateway = '192.168.0.1'
}
Приведенная выше конфигурация найдет адаптер с именем «Ethernet» с IP-адресом 192.168.0.203 и настроит его DefaultGateway на 192.168.0.1. В моем вопросе диспетчер локальной конфигурации не смог найти такой адаптер. Я пытался установить IP и шлюз одновременно.
Это открытие привело меня к пониманию того, что установка IP-адреса и настройка других свойств адаптера не могут выполняться в одной конфигурации. Такой вид исключает идею использования одного (да, только 1) скрипта для сквозной настройки сервера.
Я правильно понимаю?
p.s. Я также сталкивался с конфигурациями, добавляющими новый IP вместо замены. Не буду сейчас вдаваться в подробности, но очень интересное поведение ...