Question : obtenir une version à distance et l'IP address d'OS de serveur de fenêtres sans permission d'accès sur ce serveur

Est-il possible d'obtenir une version à distance et l'IP address d'OS de serveur de fenêtres sans permission d'accès sur ce serveur ? le

I connaissent VBScript (placer les colGroups = le GetObject (« WinNT : / » et strComputer et "") colGroups.Filter = rangée (« groupe »)) peuvent obtenir aux groupes de serveur à distance de fenêtres l'information. Est-ce qu'y a-t-il il manière semblable d'obtenir OS de serveur, l'IP address information.

When que j'emploie la question d'instrumentation de gestion (WMI) de Windows, font je doit avoir la permission d'accès sur ce serveur ?

Thanks à l'avance.
class= > " clair " de
solutions >Related class= IP address multiple de >get de " qRelatedChild " de class= sur de fenêtres de title= " du href= " /Programming/Languages/Scripting/Perl/Q_26319566.html " de

Réponse : obtenir une version à distance et l'IP address d'OS de serveur de fenêtres sans permission d'accès sur ce serveur

Salut howruaz9,

Au-dessous de est un manuscrit qui devrait renvoyer le tout ce que vous voulez.  Vous identifierez une partie du manuscrit comme j'ai juste ajouté à ce que vous avez déjà eu.

J'ai également ajouté dans la pièce d'IP address - mais ceci ralentit la question considérablement.  Je ne peux pas penser à une manière plus rapide d'obtenir l'IP address autre qu'un cinglement efficace du computername (sans permissions de questionner le serveur directement qui est).

Quoi qu'il en soit, voir comment vous allez !

Respect,
Daz.
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 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
Faible var1
Faible var2
Faible strComputer
Faible dicCompOS

'sur le résumé d'erreur après

Placer le dicCompOS = le CreateObject (« Scripting.Dictionary »)
GetOSs ()   « # dictionnaire de charge logiciels d'exploitation avec de tous les ordinateurs de domaine »

Placer le fso = le CreateObject (« Scripting.FileSystemObject »)
Placer tf = fso.OpenTextFile (« PC_Info.txt », 2, vrais)

'De ### d'ordinateur ### réglé ici
strComputer = « YOUR_SRV »



tf.write (« serveur ; IP address ; Nom d'OS ; OS Service Pack ; Groupes ; Membres ; Nom d'affichage ; ")
tf.writeline (« AdsPath »)

Placer l'objComputer = le GetObject (« WinNT : / » et strComputer)

objComputer.Filter = rangée (« groupe »)

strIPAddress = fResolveIP (strComputer)

Pour chaque objGroup dans l'objComputer
    Pour chaque objMember dans objGroup.Members
        var1 = objMember.Name
        Si objMember.Class <> « groupe » et Err.Number = 0 puis
            var2 = ""
            Sur le résumé d'erreur après
            var2 = objMember.FullName
            Sur l'erreur 0 Goto
            OSName = s'est dédoublé (dicCompOS (UCase (le strComputer)), « ¶") (0)
            OSSP   = s'est dédoublé (dicCompOS (UCase (le strComputer)), « ¶") (1)
            tf.writeline (strComputer et « ;  » et strIPAddress et « ;  » Et OSName et « ;  » Et OSSP et « ;  » et objGroup.Name et « ;  » et var1 et « ;  » et chr (34) et var2 et chr (34) et « ;  » et objMember.AdsPath)
        Autrement
            tf.writeline (strComputer et « ;  » et strIPAddress et « ;  » Et OSName et « ;  » Et OSSP et « ;  » et objGroup.Name et « ;  » et var1 et « ;  » Et Chr (34) et chr (34) et « ;  » et objMember.AdsPath)
            Err.Clear
        Finissent si
        var1 = ""
        var2 = ""
     Après
Après 
tf.close ()

MsgBox « fait ! »

Wscript.quit




GetOSs secondaire ()

    '# AGITATION Init
    Placer l'objRootDSE = le GetObject (« LDAP : //RootDSE »)
    strDNSDomain = objRootDSE.Get (« defaultNamingContext »)
    strConfig = objRootDSE.Get (« configurationNamingContext »)
    Placer l'objCommand = le CreateObject (« ADODB.Command »)
    Placer l'objConnection = le CreateObject (« ADODB.Connection »)
    objConnection.Provider = « ADsDSOObject »
    objConnection.Open = « ADProvider »
    objCommand.ActiveConnection = objConnection
    objCommand.Properties (« taille de page ») = 100
    objCommand.Properties (« temps mort ») = 900
    '#

    '### de filtre du ### LDAP
    strFilter = « (et (objectClass=computer)) »

    'Attributs de ### pour rechercher le ###
    strAttributes = « sAMAccountName, du système d'exploitation, operatingSystemServicePack »

    Le '### exécutent le ### de question de LDAP
    strBase = "" '
    strQuery = strBase et « ;  » et strFilter et « ;  » et strAttributes et « ; sous-arbre »
    objCommand.CommandText = strQuery
    'Sur le résumé d'erreur après
    Placer l'objRecordSet = l'objCommand.Execute

    Le '### passent par des disques retournés et stockent le ### d'information
    Faire jusqu'à objRecordSet.EOF
        dicCompOS (UCase (remplacer (objRecordSet.Fields (« sAMAccountName »), « $ », le ""))) = objRecordSet.Fields (« du système d'exploitation ») et « ¶ » et objRecordSet.Fields (« operatingSystemServicePack »)
        'dicCompOS de MsgBox (objRecordSet.Fields (« sAMAccountName »)), objRecordSet.Fields (« sAMAccountName »)
        objRecordSet.MoveNext
    Boucle

Sous-marin d'extrémité

fResolveIP de fonction (strComputer)
    Faible wmiQuery, objWMIService, objPing, objStatus
    
    le wmiQuery = « choisissent * à partir de Win32_PingStatus où » et le _
    « Adresse = «  » et strComputer et «  » « 
    
    Placer l'objWMIService = le GetObject (« winmgmts : \ \. \ racine \ cimv2 »)
    objPing réglé = objWMIService.ExecQuery (wmiQuery)
    
    Pour chaque objStatus dans objPing
        S'IsNull (objStatus.StatusCode) ou objStatus.Statuscode0<> alors
            fResolveIP = « inconnu »
        Autrement
            fResolveIP = objStatus.ProtocolAddress
        Finir si
    Après
Fonction de fin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us