Questione : ottenere una versione a distanza ed il IP address di OS dell'assistente delle finestre senza permesso di accesso su quell'assistente

È possibile ottenere una versione a distanza ed il IP address di OS dell'assistente delle finestre senza permesso di accesso su quell'assistente? il

I conosce VBScript (regolare i colGroups = GetObject (“WinNT: /„ & strComputer & "") colGroups.Filter = l'allineamento (“gruppo„)) possono ottenere a gruppi di assistente a distanza delle finestre le informazioni. È ci simile senso ottenere l'OS dell'assistente, il IP address information.

When che uso la domanda di strumentazione dell'amministrazione (WMI) di Windows, fa io deve avere permesso di accesso su quell'assistente?

Thanks in anticipo.
class= > " libero " del
soluzioni >Related class= IP address multiplo del >get " del qRelatedChild " " del class= sull'assistente delle finestre " del title= " del href= " /Programming/Languages/Scripting/Perl/Q_26319566.html di

Risposta : ottenere una versione a distanza ed il IP address di OS dell'assistente delle finestre senza permesso di accesso su quell'assistente

Ciao howruaz9,

Sotto è uno scritto che dovrebbe restituire il tutto che cosa volete.  Riconoscerete alcuno dello scritto ho aggiunto appena a che cosa già avete avuto.

Inoltre ho aggiunto nella parte di IP address - ma questa rallenta considerevolmente la domanda.  Non posso pensare ad un senso più veloce ottenere il IP address tranne un efficace rumore metallico del computername (senza permessi interrogare direttamente l'assistente che è).

In ogni modo, vedere come andate!

Riguardi,
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:
Var1 fioco
Var2 fioco
strComputer fioco
dicCompOS fioco

'sul riassunto di errore dopo

Regolare il dicCompOS = CreateObject (“Scripting.Dictionary„)
GetOSs ()   “# dizionario del carico con sistemi operativi di tutti i calcolatori di dominio„

Regolare il fso = CreateObject (“Scripting.FileSystemObject„)
Regolar tf = fso.OpenTextFile (“PC_Info.txt„, 2, allineare)

'Del ### del calcolatore ### stabilito qui
strComputer = “YOUR_SRV„



tf.write (“assistente; IP address; Nome di OS; OS Service Pack; Gruppi; Membri; Nome dell'esposizione; ")
tf.writeline (“AdsPath„)

Regolare il objComputer = GetObject (“WinNT: /„ & strComputer)

objComputer.Filter = allineamento (“gruppo„)

strIPAddress = fResolveIP (strComputer)

Per ogni objGroup nel objComputer
    Per ogni objMember in objGroup.Members
        var1 = objMember.Name
        Se objMember.Class <> “gruppo„ e Err.Number = 0 allora
            var2 = ""
            Sul riassunto di errore dopo
            var2 = objMember.FullName
            Sull'errore 0 di avanzamento
            OSName = ha spaccato (dicCompOS (UCase (strComputer)), Ҧ") (0)
            OSSP   = ha spaccato (dicCompOS (UCase (strComputer)), Ҧ") (1)
            tf.writeline (strComputer & “; „ & strIPAddress & “; „ & OSName & “; „ & OSSP & “; „ & objGroup.Name & “; „ & var1 & “; „ & chr (34) & var2 & chr (34) & “; „ & objMember.AdsPath)
        Altrimenti
            tf.writeline (strComputer & “; „ & strIPAddress & “; „ & OSName & “; „ & OSSP & “; „ & objGroup.Name & “; „ & var1 & “; „ & Chr (34) & chr (34) & “; „ & objMember.AdsPath)
            Err.Clear
        Si concludono se
        var1 = ""
        var2 = ""
     Dopo
Dopo 
tf.close ()

MsgBox “fatto!„

Wscript.quit




GetOSs secondario ()

    '# DIFFICOLTÀ Init
    Regolare il objRootDSE = GetObject (“LDAP: //RootDSE„)
    strDNSDomain = objRootDSE.Get (“defaultNamingContext„)
    strConfig = objRootDSE.Get (“configurationNamingContext„)
    Regolare il objCommand = CreateObject (“ADODB.Command„)
    Regolare il objConnection = CreateObject (“ADODB.Connection„)
    objConnection.Provider = “ADsDSOObject„
    objConnection.Open = “ADProvider„
    objCommand.ActiveConnection = objConnection
    objCommand.Properties (“formato di pagina„) = 100
    objCommand.Properties (“prespegnimento„) = 900
    '#

    '### del filtro dal ### LDAP
    strFilter = “(& (objectClass=computer))„

    'Attributi del ### per richiamare ###
    strAttributes = “sAMAccountName, operatingSystem, operatingSystemServicePack„

    'Il ### esegue il ### di domanda di LDAP
    strBase = "" '
    strQuery = strBase & “; „ & strFilter & “; „ & strAttributes & “; sotto-albero„
    objCommand.CommandText = strQuery
    'Sul riassunto di errore dopo
    Regolare il objRecordSet = objCommand.Execute

    'Il ### passa attraverso le annotazioni restituite e memorizza il ### di Info
    Fare fino a objRecordSet.EOF
        dicCompOS (UCase (sostituire (objRecordSet.Fields (“sAMAccountName„), “$„, ""))) = objRecordSet.Fields (“operatingSystem„) & “¶„ & objRecordSet.Fields (“operatingSystemServicePack„)
        'dicCompOS di MsgBox (objRecordSet.Fields (“sAMAccountName„)), objRecordSet.Fields (“sAMAccountName„)
        objRecordSet.MoveNext
    Ciclo

Sommergibile dell'estremità

fResolveIP di funzione (strComputer)
    wmiQuery fioco, objWMIService, objPing, objStatus
    
    il wmiQuery = “seleziona * a partire da Win32_PingStatus dove„ & _
    “Indirizzo = “„ & strComputer & “„ “
    
    Regolare il objWMIService = GetObject (“winmgmts: \ \. \ radice \ cimv2„)
    objPing stabilito = objWMIService.ExecQuery (wmiQuery)
    
    Per ogni objStatus nel objPing
        Se IsNull (objStatus.StatusCode) o objStatus.Statuscode0<> allora
            fResolveIP = “sconosciuto„
        Altrimenti
            fResolveIP = objStatus.ProtocolAddress
        Concluder se
    Dopo
Funzione di conclusione
Altre soluzioni  
 
programming4us programming4us