Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Computer] Join AD domain succeeds but it throws error "The user name or password is incorrect"

Aperta
#413 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
powershell

Direzione di ricerca

Iniziare in source/DSCResources/DSC_Computer/DSC_Computer.psm1, nella funzione Get-ADSIComputer e nella chiamata DirectorySearcher.FindOne() intorno alla riga 745. Riprodurre lo scenario di un primo ingresso nel dominio utilizzando le versioni fornite di Windows Server, PowerShell e ComputerManagementDsc, quindi verificare che un ingresso riuscito non produca l’errore relativo alle credenziali e che la risorsa segnali correttamente lo stato completato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug help wanted
Problem description

Scenario: VM is in a workgroup and wants to join an AD domain for the 1st time:
It successfully joins the AD domain, but DSC throws the following error:
Exception calling "FindOne" with "0" argument(s): "The user name or password is incorrect."

This is thrown by DirectorySearcher.FindOne() in function Get-ADSIComputer : https://github.com/dsccommunity/ComputerManagementDsc/blob/fcff2e040bf8162f8138eb08612fde3e3c60ef42/source/DSCResources/DSC_Computer/DSC_Computer.psm1#L745

Verbose logs
VERBOSE: [2023-06-15 08:29:26Z] [VERBOSE] [SP]: LCM:  [ Start  Set      ]  [[Computer]JoinDomain]
VERBOSE: [2023-06-15 08:29:26Z] [VERBOSE] [SP]:                            [[Computer]JoinDomain] Setting computer 
state for 'SP'.
VERBOSE: [2023-06-15 08:29:26Z] [VERBOSE] [SP]:                            [[Computer]JoinDomain] Perform operation 
'Enumerate CimInstances' with following parameters, ''namespaceName' = root\cimv2,'className' = Win32_ComputerSystem'.
VERBOSE: [2023-06-15 08:29:26Z] [VERBOSE] [SP]:                            [[Computer]JoinDomain] Operation 'Enumerate CimInstances' complete.
VERBOSE: [2023-06-15 08:29:29Z] [ERROR] Exception calling "FindOne" with "0" argument(s): "The user name or password is incorrect."
VERBOSE: [2023-06-15 08:29:30Z] [WARNING] [SP]:                            [[Computer]JoinDomain] The changes will take effect after you restart the computer SP.
VERBOSE: [2023-06-15 08:29:30Z] [VERBOSE] [SP]:                            [[Computer]JoinDomain] Added computer to domain 'contoso.local'.
VERBOSE: [2023-06-15 08:29:30Z] [VERBOSE] [SP]: LCM:  [ End    Set      ]  [[Computer]JoinDomain]  in 3.8950 seconds.
DSC configuration
configuration ConfigureSQLVM
{
    param
    (
        [Parameter(Mandatory)] [String]$DomainFQDN,
        [Parameter(Mandatory)] [System.Management.Automation.PSCredential]$DomainAdminCreds
    )

    Import-DscResource -ModuleName ComputerManagementDsc -ModuleVersion 9.0.0

    [String] $DomainNetbiosName = (Get-NetBIOSName -DomainFQDN $DomainFQDN)
    [PSCredential] $DomainAdminCredsQualified = New-Object PSCredential ("${DomainNetbiosName}\$($DomainAdminCreds.UserName)", $DomainAdminCreds.Password)
    [String] $ComputerName = Get-Content env:computername

    Node localhost
    {
        Computer JoinDomain
        {
            Name       = $ComputerName
            DomainName = $DomainFQDN
            Credential = $DomainAdminCredsQualified
        }
    }
}
Suggested solution

I did not investigate the exact reason of the error message "The user name or password is incorrect.", but credentials are valid since VM joins the AD domain successfully.

A possible simple workaround would be to add a try catch:

try 
{
	return $searcher.FindOne()
}
catch
{
}
Operating system the target node is running
OsName               : Microsoft Windows Server 2022 Datacenter
OsOperatingSystemSKU : DatacenterServerEdition
OsArchitecture       : 64-bit
WindowsVersion       : 2009
WindowsBuildLabEx    : 20348.1.amd64fre.fe_release.210507-1500
OsLanguage           : en-US
OsMuiLanguages       : {en-US}
PowerShell version and build the target node is running
Name                           Value
----                           -----
PSVersion                      5.1.20348.1366
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.20348.1366
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
ComputerManagementDsc version
Name                  Version Path
----                  ------- ----
ComputerManagementDsc 9.0.0   C:\Program Files\WindowsPowerShell\Modules\ComputerManagementDsc\ComputerManagementDsc.psd1
Lingua principale
PowerShell
Stelle
338
Fork
80
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dsccommunity/ComputerManagementDsc

Tutte le issue di dsccommunity/ComputerManagementDsc

Issue simili

Altre issue su Security

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.