IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

le serveur distant n'existe pas ou n'est pas disponible 'GetObject'


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut le serveur distant n'existe pas ou n'est pas disponible 'GetObject'

    J'ai ce script qui marche normalement sur windows vista et windows XP, mais il ne marche pas sur un Seven 32-bit (x86) Windows 7 Ultimate SP1
    J'ai cette Erreur après exécution du script à la ligne 12 :
    le serveur distant n'existe pas ou n'est pas disponible 'GetObject'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    'Les éléments à démarrage automatique + ListProcessCmdLine.vbs © Hackoo © 2011
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Ws = CreateObject("WScript.Shell")
    Set ProcessEnv = Ws.Environment("Process")
    NomMachine = ProcessEnv("COMPUTERNAME") 
    NomUtilisateur = ProcessEnv("USERNAME") 
    NomFichierLog="Liste_Processus.txt"
    temp = Ws.ExpandEnvironmentStrings("%temp%")
    PathNomFichierLog = temp & "\" & NomFichierLog
    Set OutPut = fso.CreateTextFile(temp & "\" & NomFichierLog,2)
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _ 
    & strComputer & "\root\cimv2") 
    Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process")
    count=0 
    'Dim StartTime : StartTime = Timer
    Call Infosys
    OutPut.WriteLine String(14,"*")& "Liste des Processus en cours d'exécution le " & date & " à " & time & " sur Le PC "& NomMachine &" connecté en tant que " & NomUtilisateur & String(14,"*")& vbNewline & String(143,"*")
    For Each objProcess in colProcesses
    ProcessName = objProcess.Name
    ProcessID = objProcess.ProcessID
    CommandLine = objProcess.CommandLine	
    count=count+1
    Texte = "Numéro PID = "& objProcess.ProcessID & VbNewLine & "Nom du Processus = " & objProcess.Name & VbNewLine &"Ligne de Commande = "& objProcess.CommandLine &_
    VbNewLine & String(120,"*")
    OutPut.WriteLine Texte
    Next
     
    OutPut.WriteLine  "Il y a "& Count &" Processus en cours d'exécution le " & date & " à " & time & " sur Le PC "& NomMachine &" connecté en tant que " & NomUtilisateur & vbNewline
    Call StartupCommand
    'OutPut.WriteLine FormatNumber(Timer - StartTime, 0) & " seconds."
    Function StartupCommand()
    strComputer = "."
    resultat=""
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colStartupCommands = objWMIService.ExecQuery ("Select * from Win32_StartupCommand")
     
    For Each objStartupCommand in colStartupCommands
    resultat=resultat & "Nom: " & objStartupCommand.Name & vbNewline
    resultat=resultat & "Description: " & objStartupCommand.Description & vbNewline
    resultat=resultat & "Emplacement: " & objStartupCommand.Location & vbNewline
    resultat=resultat & "Commande: " & objStartupCommand.Command & vbNewline
    resultat=resultat & "Utilisateur: " & objStartupCommand.User & vbNewline
    resultat=resultat & String(120,"*") & vbNewline 
    Next
    OutPut.WriteLine String(50,"*") &" Les éléments à démarrage automatique "& String(50,"*")
    OutPut.WriteLine resultat
    end Function
     
    Explorer(PathNomFichierLog)
     
    Function Explorer(File)
        Set ws=CreateObject("wscript.shell")
        ws.run "Explorer "& File,0,True
    end Function
     
    Function InfoSys
    strComputer = "."
    strMessage=""
    Set objWMIService = GetObject("winmgmts:"  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colSettings = objWMIService.ExecQuery  ("Select * from Win32_ComputerSystem")
    Set colSettings2 = objWMIService.ExecQuery ("Select * from Win32_BIOS")
    Set colSettings3 = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
    For Each objBIOS in colSettings2 
          strMessage=strMessage & "BIOS " & objBIOS.Version & vbNewline & vbNewline
    Next
    For Each objComputer in colSettings 
          strMessage=strMessage & "Nom de l'ordinateur : " & objComputer.Name & vbNewline & "Fabriquant: " & objComputer.Manufacturer & vbNewline & "Modèle : " & objComputer.Model & vbNewline & vbNewline
     
    Next
    For Each objOperatingSystem in colSettings3
          strMessage=strMessage &  objOperatingSystem.Name & vbNewline
          strMessage=strMessage &  "Version " & objOperatingSystem.Version & vbNewline
          strMessage=strMessage &  "Service Pack " & objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion &vbNewline
          strMessage=strMessage &  "Dossier de Windows: " & objOperatingSystem.WindowsDirectory &vbNewline
    Next
    OutPut.WriteLine strMessage
    end Function
    est-ce-qu'il y a une solution pour ce genre de problème

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    salut,
    cette machine doit requérir un niveau "d'impersonation" qui ne doit pas être Impersonate
    voir ici
    notamment la fin de page concernant une éventuelle manipulation d'une clé de registre
    cet article aussi est intéressant mais il ne semble pas avoir été mis à jour poiur seven
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut
    Citation Envoyé par omen999 Voir le message
    salut,
    cette machine doit requérir un niveau "d'impersonation" qui ne doit pas être Impersonate
    voir ici
    notamment la fin de page concernant une éventuelle manipulation d'une clé de registre
    cet article aussi est intéressant mais il ne semble pas avoir été mis à jour poiur seven
    omen999 et pour cet Article mais malheureusement la manipulation de la clé de registre n'a aucun effet càd je reçois la même erreur
    par contre j'ai essayer ce code extrait de cet article qui marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{authenticationLevel=Pkt}!\\" _
        & strComputer & "\root\cimv2")
    Set colDisks = objWMIService.ExecQuery _
        ("Select * from Win32_LogicalDisk")
    For each objDisk in colDisks
        Wscript.Echo "DeviceID: " & vbTab & _
            objDisk.DeviceID & vbNewLine & _
            "FreeSpace: " & vbTab & objDisk.FreeSpace 
        NextstrComputer = "." 
        Set objServices = GetObject( _
            "winmgmts:{impersonationLevel=impersonate," _
            & "authenticationLevel=pktPrivacy}!root/cimv2")
        Set objProcessSet = objServices.ExecQuery _
            ("SELECT Name FROM Win32_Process",,48)
        For Each Process in objProcessSet
            WScript.Echo Process.Name
        Next
    Next

Discussions similaires

  1. [WD-2010] Le serveur distant n'existe pas ou n'est pas disponible - Err 462
    Par cwouam dans le forum VBA Word
    Réponses: 9
    Dernier message: 26/04/2017, 16h47
  2. [XL-2003] serveur distant n'existe pas
    Par alain59320 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2010, 10h09
  3. Le serveur distant n'existe pas ou n'est pas disponible
    Par titeZ dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 04/06/2008, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo