none
Unattended Setup und WDS -> generischer Computername RRS feed

  • Frage

  • Hallo,

    ich habe ein Testscenario aufgebaut. Ziel ist es, Windows 10 als unbeaufsichtigte Installation mittels WDS auszurollen. Die Computer sollen Mitglied der Domäne werden.

    Dazu habe ich im AD die Computerkonten in der entsprechenden OU mit ihrer Geräte-ID angelegt. Führe ich das Setup ohne Antwortdateien aus, werden die Computernamen übernommen. Verwende ich dagegen Antwortdateien, wird vom Setup ein generischer Computername generiert.

    Hier Auszüge aus den Protokolldateien:

    C:\Windows\Panther\setupact.log

        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.Name='PC2'
    
        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.ID=[00-15-5D-09-C8-22]
    
        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.JoinRights=0
    
        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.JoinDomain=TRUE
    
        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.DN='CN=PC2,OU=Test,DC=cmt,DC=local'
    
        2017-11-16 17:57:30, Info       [0x0b008c] WDS        WDS.Device.Domain='cmt.local'

    Und weiter unten in derselben Datei:

    2017-11-16 17:59:21, Info       [0x0b0074] WDS    ProcessImageUnattend: Copied an image unattend file to [X:\sources\wdsunattend\WdsImageUnattend.xml].
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Join Domain = [Y]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Account Exists = [Y]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Prestage Using MAC = [N]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Reset Boot Program Path = [N]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Machine Name = [PC2]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Machine Domain = [cmt.local]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Machine OU = []
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Machine Dn = [CN=PC2,OU=Test,DC=cmt,DC=local]
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: First Name = []
    2017-11-16 17:59:21, Info       [0x0b007b] WDS    DomainJoinInformation: Last Name = []
    2017-11-16 17:59:21, Info       [0x0b007d] WDS    ProcessDomainJoinInformation: No special unattend domain join processing will take place.


    C:\Windows\Panther\UnattendGC\setupact.log

        2017-11-16 18:00:29, Info                         [Shell Unattend] ComputerName: generating computer name from user name
        2017-11-16 18:00:29, Info                         [Shell Unattend] ComputerName: generated name 'WINDOWS-G4DS9D9'
        2017-11-16 18:00:29, Info                         [Shell Unattend] ComputerName set to WINDOWS-G4DS9D9 

    Wie schaffe ich es, dass auch bei Verwendung von Antwortdateien die Computernamen der vorab bereitgestellten Geräte übernommen werden?



    • Bearbeitet mslux Freitag, 17. November 2017 08:41
    Freitag, 17. November 2017 07:26

Antworten

Alle Antworten

  • Hallo,

    wenn man die Computernamen im AD/WDS hinterlegt hat, braucht man dann nicht einfach in der Antwortdatei (specialize/windows-shell-setup) den <computernamen>%maschinename%</computernamen> einsetzen?

    specialize/windows-unattendedjoin / >unsecurejoin muss noch auf true gesetzt werden.


    • Bearbeitet ZühlkeFR Freitag, 17. November 2017 13:42
    Freitag, 17. November 2017 13:34
  • Nein, das funktioniert nicht mehr. Macht man es trotzdem bleibt die Installation einfach stehen. Im Log steht dann, dass ein Fehler in der unatted.xml ist.

    In der Referenz steht auch, dass der Computername kein %-Zeichen enthalten darf.


    Wenn dir meine Antwort nützt, kannst du "Als Antwort vorschlagen" anklicken. Warum? Das steht hier.

    Freitag, 17. November 2017 15:47
  • Hi,
     
    Am 17.11.2017 um 08:26 schrieb mslux:
    > ich habe ein Testscenario aufgebaut. Ziel ist es, Windows 10 als
    > unbeaufsichtigte Installation mittels WDS auszurollen. Die Computer
    > sollen Mitglied der Domäne werden.
     
    Erweitere es um MDT und dann gehts. :-)
     
    Den Computernamen kannst du zB anhand der MAC aus einer DAtenbank oder
    auch aus dem Ruleset der customsettings.ini entnehmen.
     
    Tschö
    Mark
    --
    Mark Heitbrink - MVP Group Policy - Cloud and Datacenter Management
     
    Homepage:  http://www.gruppenrichtlinien.de - deutsch
     
    GET Privacy and DISABLE Telemetry on Windows 10 - gp-pack PaT
     
    Freitag, 17. November 2017 19:05
  • Das wäre mit Kanonen auf Spatzen schießen. Nur weil ein Parameter nicht verarbeitet wird, setzte ich doch nicht eine zusätzliche Software ein, in die ich mich dann auch noch einarbeiten muss, die zusätzliche Fehlerquellen birgt und die zusätzlichen Wartungsaufwand verursacht.

    Das würde komplett gegen das KISS-Prinzip verstoßen.

    Wenn schon ein MVP keine Lösung weiß, dann scheint es keine zu geben. Dann muss ich das Problem eben umgehen. Ein PowerShell-Skript, was in der OOBE-Phase Add-Computer aufruft, würde mir auf die Schnelle einfallen.



    • Bearbeitet mslux Samstag, 18. November 2017 09:31
    Samstag, 18. November 2017 09:30
  • Hi,
     
    Am 18.11.2017 um 10:30 schrieb mslux:
    > Wenn schon ein MVP keine Lösung weiß, dann scheint es keine zu geben.
    Jein, es ist nur so, daß ich in keinem einzigen Umfeld einen WDS nutze,
    da MDT zu einfach und gut ist, um es nicht zu nutzen.
    Die Vorteile von MDT überwiegen und sprechen für den Einsatz, denn es
    macht es simpler ... (für mich)
     
    Tschö
    Mark
    --
    Mark Heitbrink - MVP Group Policy - Cloud and Datacenter Management
     
    Homepage:  http://www.gruppenrichtlinien.de - deutsch
     
    GET Privacy and DISABLE Telemetry on Windows 10 - gp-pack PaT
     
    Montag, 20. November 2017 09:15
  • macht es simpler ... (für mich)

    Wenn man irgendetwas kann, ist es immer einfach. Ich habe keine Erfahrungen mit dem MDT. Aber letztendlich kann das den Setupprozess von Windows auch nur beeinflussen, aber nicht verändern.

    Also habe ich die Beeinflussung "auf meine Art" versucht. Der Trick liegt darin, die Computerkonten nicht vorab bereitzustellen!

    <#
    Da beim automatisierten Domänenbeitritt mittels unattedend.xml in 
    der Spezialisierungsphase für den Computer ein generischer Name 
    vergeben wird, wird dieses Sktipt erst in der OOBE-Phase aufgerufen.
    Dazu muss auch die automatische Anmeldung als Administrator 
    konfiguriert werden.
    Das Computerkonto darf nicht vorab bereitgestellt werden, da sonst
    Add-Computer mit -NewName auf einen Fehler läuft (Konto existiert bereits).
    #>
    
    $log = '\djoin.log'
    # wenn NetEnabled = True ist ein Netzwerkkabel angeschlossen
    # die zurückgegebene MAC-Adresse enthält Doppelpunkte, die werden gelöscht
    $mac = (Get-WmiObject -Class Win32_NetworkAdapter -Filter "NetEnabled = 'True'").MACAddress.Replace(':','')
    # Hyper-V-Hosts haben zwei Adapter mit der gleichen MAC-Adresse, dann enthält $mac ein Array
    if ($mac.Length -ne 12) { $mac = $mac[0] }
    "MAC-Adresse: $mac" | Out-File -FilePath $log
    $NewComputername = (Select-String -Pattern $mac -Path \\SNAP\REMINST\*.csv).Line.Split(',')[0]
    "Neuer Computername: $NewComputername"  Out-File -FilePath $log -Append
    $user = "ADATUM\deploy"
    $pass = ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force
    $cred = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $user, $pass
    Add-Computer -DomainName "cmt.local" -NewName $NewComputername -DomainCredential $cred -Force -Restart -PassThru  Out-File -FilePath $log -Append

    Will man mehr Sicherheit und die Computerkonten vorab bereitstellen, kann das Skript deutlich gekürzt werden. Es muss dann nur der generische Name in die Domäne aufgenommen werden.

    Um diesen dann später umzubenennen, habe ich nur eine Lösung gefunden: Rename-Computer muss in ein Anmeldeskript eines Benutzers! Warum weiß der Geier!


    Wenn dir meine Antwort nützt, kannst du "Als Antwort vorschlagen" anklicken. Warum? Das steht hier.



    • Bearbeitet mslux Montag, 20. November 2017 21:14
    Montag, 20. November 2017 21:08
  • Hi,
     
    Am 20.11.2017 um 22:08 schrieb mslux:
    > Wenn man irgendetwas kann, ist es immer einfach.
     
    :-) Eben
     
    > Um diesen dann später umzubenennen, habe ich nur eine Lösung gefunden:
    > Rename-Computer muss in ein Anmeldeskript eines Benutzers! Warum weiß
    > der Geier
     
    Hm, wie wäre es stattdessen als Geplanter Task? Den kannst du per GPO
    ausrollen und evtl. klappt es dann als SYSTEM? Dann benötigt der User
    auch keine lokalen Adminrechte für das Rename ...
     
    Tschö
    Mark
    --
    Mark Heitbrink - MVP Group Policy - Cloud and Datacenter Management
     
    Homepage:  http://www.gruppenrichtlinien.de - deutsch
     
    GET Privacy and DISABLE Telemetry on Windows 10 - gp-pack PaT
     
    Dienstag, 21. November 2017 12:49