Question Impossible de me connecter à un serveur

Plus d'informations
il y a 4 semaines 19 heures #34559 par Matthieu
Bonjour,

J'ai créé un script qui me permet de récupérer des informations sur mes serveurs. Sur un seul serveur, impossible de récupérer l'information je n'arrive pas à m'y connecter. J'ai tout essayé mais je sèche...
Dans mon fichier de log je récupère le message : AVERTISSEMENT : Erreur lors de la connexion au serveur SRVPOINTAGETEST01 : [SRVPOINTAGETEST01] La connexion au serveur distant SRVPOINTAGETEST01 a échoué avec le message d’erreur suivant : Accès refusé. Pour plus d'informations, voir la rubrique d'aide about _Remote_Troubleshooting.

La seule différence avec mes autres serveurs c'est que le nom de l'ordinateur ne correspond pas au nom Netbios mais j'ai testé un ping du serveur avec son FQDN et je n'ai pas de problème.
# Liste des noms des serveurs (màj le 14/05/2024)
$listeServeurs = @("SRVPOINTAGETEST01")

# Création du tableau HTML
$htmlTable = "<html><head><style>table { border-collapse: collapse; width: 50%; } th, td { border: 1px solid black; padding: 8px; text-align: left; }</style></head>`
<body><h2>Informations sur la date du dernier red&eacute;marrage des serveurs Windows</h2><p><font color='orange'>Orange : entre 100 et 299 jours</font></br><font color='red'>Rouge : plus de 300 jours</font></p>`
<table><tr><th>Serveur</th><th>Type d'OS</th><th>Date du dernier red&eacute;marrage</th><th>Nombre de jours depuis le dernier red&eacute;marrage</th></tr>"



# Parcourir chaque serveur dans la liste
foreach ($serveur in $listeServeurs) {
    try {
        # Connexion au serveur distant et récupération de la date du dernier redémarrage
        $session = New-PSSession -ComputerName $serveur -ErrorAction Stop
        $osInfo = Invoke-Command -Session $session -ScriptBlock {
            $os = Get-CimInstance -ClassName Win32_OperatingSystem
            [PSCustomObject]@{
                'LastBootUpTime' = $os.LastBootUpTime | Get-Date
                'DaysSinceLastReboot' = (Get-Date) - $os.LastBootUpTime
                'OsType' = $os.Caption
            }
        } -ErrorAction Stop

        # Déterminer la couleur en fonction du nombre de jours
        $couleur = if ($osInfo.DaysSinceLastReboot.Days -gt 300) { 'red' } elseif ($osInfo.DaysSinceLastReboot.Days -ge 100) { 'orange' } else { 'black' }

        # Ajouter une ligne au tableau HTML avec la couleur appropriée
        $htmlTable += "<tr><td><font color='$couleur'>$serveur</td><td><font color='$couleur'>$($osInfo.OsType)</font></td><td><font color='$couleur'>$($osInfo.LastBootUpTime.ToString('dd/MM/yyyy'))</font></td><td><font color='$couleur'>$($osInfo.DaysSinceLastReboot.Days)</font></td></tr>"

        # Affichage des informations
        Write-Output "Serveur: $serveur, Date du dernier redémarrage: $($osInfo.LastBootUpTime), Jours depuis le dernier redémarrage: $($osInfo.DaysSinceLastReboot.Days), Type de système d'exploitation: $($osInfo.OsType)"
    }
    catch {
        Write-Warning "Erreur lors de la connexion au serveur $serveur : $_"
        # Enregistrer l'erreur dans un fichier journal
        Add-Content -Path "C:\logs\erreurs_script.log" -Value "[$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss'))] Erreur sur le serveur $serveur : $_"
    }
    finally {
        # Fermer la session PowerShell
        if ($session) {
            Remove-PSSession -Session $session
        }
    }
}

# Créer le répertoire si nécessaire
if (!(Test-Path "C:\temp")) {
    New-Item -ItemType Directory -Path "C:\temp"
}

try {
    $htmlTable | Out-File -FilePath "C:\temp\resultat.html"
}
catch {
    Write-Warning "Erreur lors de l'écriture du fichier HTML : $_"
}


# Fermer le tableau HTML
$htmlTable += "</table></body></html>

# Enregistrer le contenu dans un fichier HTML
$htmlTable | Out-File -FilePath "C:\temp\resultat.html"

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 semaines 5 jours #34561 par Matthieu
Bon ben c'était bien le fait que le nom netbios soit différent du fqdn.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 2 jours #34579 par Francois Dunoyer
Au passage
si tu fait des interrogration CIM ou WMi, pas besoin de faire de l'invoke

tu peux créer une sessions aussi et l'utiliser pour interroger directement ton serveur

perso, je reste assez attaché au WMI qui laisse moins de traces sur les serveurs ( tant qu'iol sera supporté)

et d'experience j'ai eu des cas où le WINRM est mort mais où on peut encore acceder aux serveurs en WMI

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.100 secondes
Propulsé par Kunena