none
Syprep unattended

    Dotaz

  • Dobrý den,

    je možné, když mám sysprepnutý systém mu dodat odpovědní xml soubor, který by obsahoval nějaké údaje pro automatický sysprep, který bych potřeboval vložit ve stavu, kdy mám stroj sysprepnutý.

    Díky Ruda

    pondělí 25. července 2011 15:17

Odpovědi

  • Mozna lepsi reseni je "nasbirat" MAC adresy serveru a napsat prirazeni jmen a IP do souboru. Server by mel pred sysprepem pripravena data na disku a zaroven by byla nastavena jednorazova uloha, ktera by spustila skript. 

    Pokud spravne pojmenujete odpovedni xml soubor, tak se precte sam z USB.

    Tady je skript, ktery muzete pouzit jako predlohu. Prirazuje se jmeno k MAC adrese. (Pro jistotu je datovy soubor s MAC adresami s malymi i velkymi pismeny.)

    '****************************************************************

    ' SKRIPT PRO PREJMENOVANI POCITACU

    ' SPOUSTI SE PLANOVANIM PROCESU

    ' Skript nacte lokalni hodnotu MAC

    ' adresy a v cyklu srovnava s hodnotou

    ' prectenou ze souboru. Po dosazeni 

    ' stejnych hodnot MAC adres se priradi

    ' odpovidajici jmeno

    '****************************************************************

     OPTION EXPLICIT

    '

    '****************************************************************

    '  Definice promennych

    '****************************************************************

    '

    Dim strFileName, strNextLine, strNULL, strComputer

    Dim objFSO, objTextFile, objScriptExec, objShell, objWMIService

    Dim objAdapter, objComputer

    Dim arrUserLine

    Dim strMacPC, strNamePC, strInitialPC, strLocalPC, strLocalMac

    Dim strComputerName

    Dim strUser, strPassword

    Dim colAdapters

    Dim RETURN

    Dim wshShell

    '

    '*****************************************************************

    '  Definice konstant

    '*****************************************************************

    '

    Const ForReading = 1                        ' Pro cteni

    strFileName = "c:\DATA\MAC.txt"             ' Umisteni datoveho souboru

    strComputer = "."                           ' Lokalni pocitac

    strNULL = "00:00:00:00:00:00"               ' Nulova MAC adresa

    strUser = "ADMIN"

    strPassword = "Heslo.1"

    strInitialPC = "K"                         ' POcatecni jmeno pocitace

    '

    '******************************************************************

    '  MAC adresa okalniho pocitace

    '  strLocalMac je vysledna hodnota dotazu na MAC adresu

    '******************************************************************40

    '

    Set objWMIService = GetObject("winmgmts:" _

        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colAdapters = objWMIService.ExecQuery _

        ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

    '

    For Each objAdapter in colAdapters

           strLocalMac = objAdapter.MACAddress

        if strLocalMac <> strNULL  then 

           end if

    Next 

    '

    '******************************************************************

    '   Jmeno lokalniho pocitace

    '******************************************************************

    '

    Set wshShell = WScript.CreateObject( "WScript.Shell" )

    strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

    '

    '*****************************************************************

    '  Podminka pro jmena

    '*****************************************************************

    '

    if strComputerName = strInitialPC Then

    '

    '   ... a ted muze nasledovat skok az na konec programu,

    '   pokud podminka neni splnena

    '******************************************************************

    '  Definice objektu soubor

    '  To je priprava na cteni souboru s {MAC,jmeno}

    '******************************************************************

    '

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objTextFile = objFSO.OpenTextFile(strFileName ,ForReading)

    '

    '******************************************************************

    '  Definice shellu

    '*****************************************************************'

    Set objShell = CreateObject("Wscript.Shell")

    '

    '******************************************************************

    '  Smycka pro nacteni souboru

    '  Nacteni radky a rozdeleni do bunek

    '******************************************************************

    Do Until objTextFile.AtEndOfStream

       strNextLine = objTextFile.Readline

       arrUserLine = Split(strNextLine,",")  ' Delici znak je carka

       strMacPC = arrUserLine(0)             ' MAC adresa

       strNamePC = arrUserLine(1)            ' Jmeno pocitace

     

    ' ******************************************************************

    ' Dotaz na shodu MAC adres a prejmenovani pocitace, 

    '      pokud je splnena podminka shodnosti MAC adres

    '      lokalniho stroje a zaznamu v souboru

    ' ******************************************************************

    '

        If strMacPC = strLocalMAC Then

     

            Set objWMIService = GetObject("Winmgmts:root\cimv2")

     

          For Each objComputer in _

                        objWMIService.InstancesOf("Win32_ComputerSystem")

     

                  Return = objComputer.rename(strNamePC,strPassword,strUser)

            If Return <> 0 Then

              WScript.Echo "Neco je blbe. Error = " & Err.Number

            Else

                        Set objShell = WScript.CreateObject ("WSCript.shell")

              objShell.run "shutdown -r -f -t 0"

              Set objShell = Nothing

            End If

          Next

            Exit Do

        End If

    LOOP

         else

            WScript.Echo "Puls a tep je OK, jedeme dal"

         end if

    '************************************************************************

    '   END

    '************************************************************************

     

    • Označen jako odpověď Ruda Dvořák úterý 26. července 2011 17:40
    úterý 26. července 2011 14:53
    Vlastník

Všechny reakce

  • Bylo by dobre dat vic informaci, co vlastne chcete a v ramci jakych operacnich systemu. (Predpokladam, ze na napovedu WAIKu a Technet jste se uz dival.)
    pondělí 25. července 2011 15:32
    Vlastník
  • Potřebuji nainstalovaný operační systém zobecnit (sysprep), a poté vypnout server. Před spuštěním serveru potřebuji dodat soubor, kteý řekne, jaký má mít server název, ip a další. Soubor mohu dodat třeba na flash disku nebo disketě. Jedna se o Windows Server 2008 R2 SP1

    edit: Pořebuji po sysprepu operačního systému spustit unattended mini-setup, který si vezme údaje z xmlka (název pc, skupina, uživatele), ale nevím kam to xmlko uložit aby si ho mini-setup našel (ideálně vyměnitelné zařízení)

    • Upravený Ruda Dvořák pondělí 25. července 2011 17:02 upřesnění
    pondělí 25. července 2011 15:42
  • Mozna lepsi reseni je "nasbirat" MAC adresy serveru a napsat prirazeni jmen a IP do souboru. Server by mel pred sysprepem pripravena data na disku a zaroven by byla nastavena jednorazova uloha, ktera by spustila skript. 

    Pokud spravne pojmenujete odpovedni xml soubor, tak se precte sam z USB.

    Tady je skript, ktery muzete pouzit jako predlohu. Prirazuje se jmeno k MAC adrese. (Pro jistotu je datovy soubor s MAC adresami s malymi i velkymi pismeny.)

    '****************************************************************

    ' SKRIPT PRO PREJMENOVANI POCITACU

    ' SPOUSTI SE PLANOVANIM PROCESU

    ' Skript nacte lokalni hodnotu MAC

    ' adresy a v cyklu srovnava s hodnotou

    ' prectenou ze souboru. Po dosazeni 

    ' stejnych hodnot MAC adres se priradi

    ' odpovidajici jmeno

    '****************************************************************

     OPTION EXPLICIT

    '

    '****************************************************************

    '  Definice promennych

    '****************************************************************

    '

    Dim strFileName, strNextLine, strNULL, strComputer

    Dim objFSO, objTextFile, objScriptExec, objShell, objWMIService

    Dim objAdapter, objComputer

    Dim arrUserLine

    Dim strMacPC, strNamePC, strInitialPC, strLocalPC, strLocalMac

    Dim strComputerName

    Dim strUser, strPassword

    Dim colAdapters

    Dim RETURN

    Dim wshShell

    '

    '*****************************************************************

    '  Definice konstant

    '*****************************************************************

    '

    Const ForReading = 1                        ' Pro cteni

    strFileName = "c:\DATA\MAC.txt"             ' Umisteni datoveho souboru

    strComputer = "."                           ' Lokalni pocitac

    strNULL = "00:00:00:00:00:00"               ' Nulova MAC adresa

    strUser = "ADMIN"

    strPassword = "Heslo.1"

    strInitialPC = "K"                         ' POcatecni jmeno pocitace

    '

    '******************************************************************

    '  MAC adresa okalniho pocitace

    '  strLocalMac je vysledna hodnota dotazu na MAC adresu

    '******************************************************************40

    '

    Set objWMIService = GetObject("winmgmts:" _

        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colAdapters = objWMIService.ExecQuery _

        ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

    '

    For Each objAdapter in colAdapters

           strLocalMac = objAdapter.MACAddress

        if strLocalMac <> strNULL  then 

           end if

    Next 

    '

    '******************************************************************

    '   Jmeno lokalniho pocitace

    '******************************************************************

    '

    Set wshShell = WScript.CreateObject( "WScript.Shell" )

    strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

    '

    '*****************************************************************

    '  Podminka pro jmena

    '*****************************************************************

    '

    if strComputerName = strInitialPC Then

    '

    '   ... a ted muze nasledovat skok az na konec programu,

    '   pokud podminka neni splnena

    '******************************************************************

    '  Definice objektu soubor

    '  To je priprava na cteni souboru s {MAC,jmeno}

    '******************************************************************

    '

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objTextFile = objFSO.OpenTextFile(strFileName ,ForReading)

    '

    '******************************************************************

    '  Definice shellu

    '*****************************************************************'

    Set objShell = CreateObject("Wscript.Shell")

    '

    '******************************************************************

    '  Smycka pro nacteni souboru

    '  Nacteni radky a rozdeleni do bunek

    '******************************************************************

    Do Until objTextFile.AtEndOfStream

       strNextLine = objTextFile.Readline

       arrUserLine = Split(strNextLine,",")  ' Delici znak je carka

       strMacPC = arrUserLine(0)             ' MAC adresa

       strNamePC = arrUserLine(1)            ' Jmeno pocitace

     

    ' ******************************************************************

    ' Dotaz na shodu MAC adres a prejmenovani pocitace, 

    '      pokud je splnena podminka shodnosti MAC adres

    '      lokalniho stroje a zaznamu v souboru

    ' ******************************************************************

    '

        If strMacPC = strLocalMAC Then

     

            Set objWMIService = GetObject("Winmgmts:root\cimv2")

     

          For Each objComputer in _

                        objWMIService.InstancesOf("Win32_ComputerSystem")

     

                  Return = objComputer.rename(strNamePC,strPassword,strUser)

            If Return <> 0 Then

              WScript.Echo "Neco je blbe. Error = " & Err.Number

            Else

                        Set objShell = WScript.CreateObject ("WSCript.shell")

              objShell.run "shutdown -r -f -t 0"

              Set objShell = Nothing

            End If

          Next

            Exit Do

        End If

    LOOP

         else

            WScript.Echo "Puls a tep je OK, jedeme dal"

         end if

    '************************************************************************

    '   END

    '************************************************************************

     

    • Označen jako odpověď Ruda Dvořák úterý 26. července 2011 17:40
    úterý 26. července 2011 14:53
    Vlastník
  • Děkuji za vyčerpávající, jde o to že jsem si nejspíš špatně pojmenoval XMLko na flashdisku. Ale nyní už všechno běhá, každopádně děkuji za script, který se myslím bude někdy hodit.

     

    úterý 26. července 2011 17:40