patrick-it
Goto Top

PowerShell Domain Join

Hallo zusammen,

kann mir einer sagen wo der Fehler in meinem Code ist? Wenn ich ihn öffne passiert nichts.
$error.clear()
Try {
    # Es wird probiert mit dem eingegebenen Passwort einen Domainjoin zu machen
    $Join = {
        # Es wird das Passwort zum Domainjoin abgefragt
        $password = Read-Host -AsSecureString -Prompt "Geben Sie das Adminpasswort ein: "  
        # Userinformationen
        $credential = New-Object System.Management.Automation.PSCredential("Administrator",$password)  
        # Probiert der Domain zu joinen
        Add-Computer -DomainName "local.local" -Credential $credential  
        }   
    }
    
    catch {
        Write-Host "Fehler beim Domainjoin"  
        .$Join
    }
    
    if (!$error) {
    
        # Der Name des Computers wird gesetzt und kann bei falscher Eingabe erneut eingegeben werden
        $Hostname = {
            
            # Variable name wird gesetzt und Abfrage für den Gerätenamen erstellt.
            $name=Read-Host -Prompt "Geben Sie den gewünschten Gerätenamen ein"  
            # Zeile mit dem eingegebenen Gerätenamen wird ausgegeben.
            Write-Host "Computername: "$name  
            # Variable weiter und Abfrage ob der Name stimmt.
            $weiter=Read-Host -Prompt "Stimmt der Gerätename so? y/n"  
            
            # Falls Y oder y
            If(($weiter-eq"Y")-or($weiter-eq"y"))  
                {
                # Der Gerätename wird geändert und der Computer neugestartet
                Rename-Computer -NewName $name -DomainCredential $credential
                Restart-Computer
                }
            
            # Falls N oder n
            elseif(($weiter-eq"N")-or($weiter-eq"n"))  
                {
                # Springt zum Anfang zurück und der Gerätename kann neu eingegeben werden.
                .$Hostname
                }
            
            # Egal bei welcher Eingabe (ausser Y,y,N,n)
            else
                {
                # Gibt aus, dass ein Fehler bei der Eingabe gemacht worden ist.
                Write-Host "Fehler bei der Eingabe!"  
                # Springt zum Anfang zurück und der Gerätename kann neu eingegeben werden.
                .$Hostname
                }
                
            }
    }

Gruss

Patrick

Content-ID: 322732

Url: https://administrator.de/contentid/322732

Ausgedruckt am: 15.11.2024 um 19:11 Uhr

131381
Lösung 131381 02.12.2016 aktualisiert um 13:07:56 Uhr
Goto Top
Wenn ich ihn öffne passiert nichts.
Kein Wunder wenn du die Befehle in Sub-Expressions mit $Join = { ... } packst. Wenn du das machst musst du diese Subexpressions die du in Variablen speicherst wie z.B. hier:
$Join = {
        # Es wird das Passwort zum Domainjoin abgefragt
        # ......
} 
auch mit . $join oder & $join ausführen, sonst liegen sie ja nur blöd in der Variablen rum und langweilen sich zu tode bis das sie einer Aufruft face-smile

Genau das hast du in Zeile 13 versäumt. (Kaffee und so face-wink)

Gruß
Patrick-IT
Patrick-IT 02.12.2016 um 13:09:41 Uhr
Goto Top
Super, vielen Dank! face-smile