none
распространение ОС RRS feed

  • Вопрос

  • Господа, добрый день! Есть вопросик...

    При попытке раскатить образ ОС (собранный с физической машины) без двух шагов в TS все замечательно отрабатывается, стоит добавить шаги установки Add - MDT  - Use toolkit package и Add - MDT - Gather следом за ним, применение TS встает на этапе Apply Operating System, не сумев отwipe'ить диск после копирования образа с Dist. Point. Эти два шага добавляю дабы настройки сети вбитые в WinPE руками автоматом переносились в ОС....Вот.... 

    25 июня 2012 г. 5:37

Ответы

  • Попробуйте просто создать пакет из этого скрипта и запускать его в любом шаге до перезагрузки из WinPE, а те два шага выкинуть из последовательности:

    Set oWMIService = GetObject ("winmgmts:\\.\root\cimv2")
    Set aNetAdapters = oWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE")
    Set oTSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
    
    If oTSEnv("OSDAdapter0IPAddressList") = "" then
    	For Each oNetAdapter In aNetAdapters
    	If Not oNetAdapter.DHCPEnabled then
    		oTSEnv("OSDAdapter0EnableDHCP") = false
    		If Not IsNull (oNetAdapter.IPAddress) then 
    			sIPAddress = oNetAdapter.IPAddress(0)
    			oTSEnv("OSDAdapter0IPAddressList") = sIPAddress
    		End If
    		If Not IsNull (oNetAdapter.IPSubnet) then
    			sIPSubnet = oNetAdapter.IPSubnet(0)
    			oTSEnv("OSDAdapter0SubnetMask") = sIPSubnet
    		End If
    		If Not IsNull (oNetAdapter.DefaultIPGateway) then
    			sIPGateway = oNetAdapter.DefaultIPGateway(0)
    			oTSEnv("OSDAdapter0Gateways") = sIPGateway
    		End If
    		If Not IsNull (oNetAdapter.DNSServerSearchOrder) then
    			sDNSServerSearchOrder = oNetAdapter.DNSServerSearchOrder(0)
    			oTSEnv("OSDAdapter0DNSServerList") = sDNSServerSearchOrder
    		End If
    		If Not IsNull (oNetAdapter.MACAddress) then sMACAddress = oNetAdapter.MACAddress(0)
    		If Not IsNull (oNetAdapter.DNSDomainSuffixSearchOrder) then sDNSDomainSuffixSearchOrder = oNetAdapter.DNSDomainSuffixSearchOrder(0)
    		If Not IsNull (oNetAdapter.WINSPrimaryServer) then
    			sWins = oNetAdapter.WINSPrimaryServer
    			oTSEnv("OSDAdapter0EnableWINS") = true
    			If Not IsNull (oNetAdapter.WINSSecondaryServer) then sWins = sWins & "," & oNetAdapter.WINSSecondaryServer
    			oTSEnv("OSDAdapter0WINSServerList") = sWins
    		Else
    			oTSEnv("OSDAdapter0EnableWINS") = false
    		End If
    		oTSEnv("OSDAdapterCount") = 1
    	End If
    Next
    End If


    • Изменено Vladimir ZelenovEditor 25 июня 2012 г. 8:31
    • Помечено в качестве ответа futsal 25 июня 2012 г. 9:47
    25 июня 2012 г. 8:18
    Отвечающий

Все ответы

  • Попробуйте просто создать пакет из этого скрипта и запускать его в любом шаге до перезагрузки из WinPE, а те два шага выкинуть из последовательности:

    Set oWMIService = GetObject ("winmgmts:\\.\root\cimv2")
    Set aNetAdapters = oWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE")
    Set oTSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
    
    If oTSEnv("OSDAdapter0IPAddressList") = "" then
    	For Each oNetAdapter In aNetAdapters
    	If Not oNetAdapter.DHCPEnabled then
    		oTSEnv("OSDAdapter0EnableDHCP") = false
    		If Not IsNull (oNetAdapter.IPAddress) then 
    			sIPAddress = oNetAdapter.IPAddress(0)
    			oTSEnv("OSDAdapter0IPAddressList") = sIPAddress
    		End If
    		If Not IsNull (oNetAdapter.IPSubnet) then
    			sIPSubnet = oNetAdapter.IPSubnet(0)
    			oTSEnv("OSDAdapter0SubnetMask") = sIPSubnet
    		End If
    		If Not IsNull (oNetAdapter.DefaultIPGateway) then
    			sIPGateway = oNetAdapter.DefaultIPGateway(0)
    			oTSEnv("OSDAdapter0Gateways") = sIPGateway
    		End If
    		If Not IsNull (oNetAdapter.DNSServerSearchOrder) then
    			sDNSServerSearchOrder = oNetAdapter.DNSServerSearchOrder(0)
    			oTSEnv("OSDAdapter0DNSServerList") = sDNSServerSearchOrder
    		End If
    		If Not IsNull (oNetAdapter.MACAddress) then sMACAddress = oNetAdapter.MACAddress(0)
    		If Not IsNull (oNetAdapter.DNSDomainSuffixSearchOrder) then sDNSDomainSuffixSearchOrder = oNetAdapter.DNSDomainSuffixSearchOrder(0)
    		If Not IsNull (oNetAdapter.WINSPrimaryServer) then
    			sWins = oNetAdapter.WINSPrimaryServer
    			oTSEnv("OSDAdapter0EnableWINS") = true
    			If Not IsNull (oNetAdapter.WINSSecondaryServer) then sWins = sWins & "," & oNetAdapter.WINSSecondaryServer
    			oTSEnv("OSDAdapter0WINSServerList") = sWins
    		Else
    			oTSEnv("OSDAdapter0EnableWINS") = false
    		End If
    		oTSEnv("OSDAdapterCount") = 1
    	End If
    Next
    End If


    • Изменено Vladimir ZelenovEditor 25 июня 2012 г. 8:31
    • Помечено в качестве ответа futsal 25 июня 2012 г. 9:47
    25 июня 2012 г. 8:18
    Отвечающий
  • ...Большое спасибо, скрипт работает...Отключил лишние шаги в TS - и пришло счастье. Правда, я не понял на каком этапе переменные передают значения в раскатываемый образ? Или они хранятся запомненными, а после "раската" передаются в ОС?
    • Изменено futsal 25 июня 2012 г. 9:49
    25 июня 2012 г. 9:49
  • Да, все переменные на протяжении всей последовательности задач хранятся и к ним можно обратиться в любой момент, как только задача отработала, объект Microsoft.SMS.TSEnvironment "исчезает".
    25 июня 2012 г. 10:12
    Отвечающий
  • bobgreen84, буду очень признателен, если укажите свой почтовый контакт, порой есть вопросы, а задать их некому

    мой адрес xwcezq@yandex.ru


    27 июня 2012 г. 6:34
  • В общем-то для меня не проблема оставить свой почтовый ящик, проблема в другом - я его читаю реже, чем форум. Вы лучше описывайте свои проблемы здесь, т.к. я не всегда знаю решение проблемы и вам сможет еще кто нибудь помочь в вашем вопросе. Мой почтовый ящик такой же как мой ник, только без цифр @mail.ru.

    27 июня 2012 г. 11:31
    Отвечающий