Ten slotte word die hulp van IT is hier

Blog van die rekenaar oplossings.

Hoe op te spoor as 'n rekenaar is 'n skootrekenaar of lessenaarrekenaar met WMI.

geskryf deur Xaus Xavier Nadal Januarie 22nd, 2012

Stoor bladsyPDF bladsye-pos bladsybladsy Druk

Goeie môre.

'N geruime tyd gelede het ek nodig om te ontdek rekenaars rekenaar of laptop en vra Carlos Torres (een van ons vennote) wat doen baie van die onderwerp van Visual Basic script (VBS) as ek kon 'n script te maak sodat dit kan opspoor.

Ek het net 'n stuk van die kode te onderskei van 'n WMI navraag en onderstel tipes aangetref in 'n toestel wat man was.

Ek moes 'n aansoek deur 'n lys van toerusting in 'n Excel my vertel dat die man was (Desktop of skootrekenaar).

En hier het jy die wonderlike skrif wat jy geskep het.

 

'ComputerType v1.0
"Ontwikkel deur Carlos Torres

Fout Volgende aflewering

'Lys op te tel en uittreksel data in 'n lys het hierdie opsie 1
Const Lys = 1
"Pad van die lêer waar die verslag gegenereer
Const file = "\ ListadoEquipos.csv."

Const ForReading = 1
Const ForWriting = 2

As lys = 1 Toe
Lys = InputBox ("Gee host pad van die lêer", "ComputerType")
Set FSO = Create ("Scripting.FileSystemObject")
Set File = FSO.CreateTextFile (File, True)
File.WriteLine "Host, IP, tipe"
As FSO.FileExists (Lys) Toe
September ts = FSO.OpenTextFile (Lys ForReading-)
Doen totdat ts.AtEndOfStream
Leelinea = Trim (ts.ReadLine)
As links (Leelinea 1) <> "" En Leelinea <> "" Dan
Wys = ObtenerInfo gemaak (Leelinea, ",")
File.WriteLine Leelinea & "" & Show
Einde as
Loop
ts.close
Einde as

File.close
Stel FILE = Niks
Stel FSO = Niks
WScript.Echo "proses afgehandel is." & VbCrLf & "gegenereerde lêer" & Lêer
Anders
PC = InputBox ("Tik Host Name", "ComputerType")
Wys = ObtenerInfo (PC vbcrlf-)
WScript.Echo Wys
Einde as

"Funksie Hoof Hardeware Obtenener inligting
Funksie ObtenerInfo (strComputer, concatenator)
Dim Tipe
ipHost = ping (strComputer)
As ipHost <> "vals" Dan
Fout Volgende aflewering
September objWMIService = aangestuur vir GetObject ("winmgmts: {ImpersonationLevel = verpersoonlik} \\" & strComputer & "\ wortel \ cimv2")
Nie Stel colItems = objWMIService.ExecQuery ("Gekose * uit Win32_SystemEnclosure" genoem)
Dan as Err.Number = 0
Counter = 0
OProc in colItems vir elke
Counter = Counter + 1
Vir Elke strChassisType oProc.ChassisTypes
Kies 'n Saak strChassisType
Case 1
Type = "Ander"
Case 2
Type = "Onbekende"
Case 3
Type = "Desktop"
Case 4
Type = "lae profiel Desktop"
Case 5
Type = "Pizza Box"
Case 6
Type = "mini-toring"
Case 7
Type = "toring"
Case 8
Type = "Portable"
Case 9
Type = "Laptop"
Case 10
Type = "Notebook"
Case 11
Type = "Handheld"
Case 12
Type = "docking station"
Case 13
Type = "All-in-One"
Case 14
Type = "Sub-Notebook"
Case 15
Type = "ruimte besparing"
Case 16
Type = "kosblik"
Case 17
Type = "System Chassis"
Case 18
Type = "Uitbreiding Chassis"
Case 19
Type = "Sub-Chassis"
Case 20
Type = "Bus Uitbreiding Chassis"
Case 21
Type = "Perifere Chassis"
Case 22
Type = "Stoor Chassis"
Case 23
Type = "Rack Mount Chassis"
Case 24
Type = "Verseëlde-Case PC"
Saak Else
Type = "Onbekende"
Einde Kies
volgende
volgende
As lys = 1 Toe
ObtenerInfo = ipHost? & Concatenator & Tipe
Anders
ObtenerInfo = "IP:" & ipHost? & Concatenator & "Type:" Tipe
Einde as
Anders
ObtenerInfo = 'WMI Fout "
CrealogError (strComputer & "WMI fout")
Einde as
Err.Clear
Stel colItems = Niks
Anders
ObtenerInfo = "Die gasheer" & strComputer & "nie reageer op PING"
CrealogError (strComputer & "nie ping")
Einde as
Jaareindfunksie

'PING funksie
Funksie ping (strHost)
September objPing = GetObject ("winmgmts: {ImpersonationLevel = voorhou,"). ExecQuery _
("Select * van Win32_PingStatus Waar 'n adres = '" & strHost & "")
Vir elke objRetStatus objPing
As IsNull (objRetStatus.StatusCode) of objRetStatus.StatusCode. <> Toe 0
ping = "false"
Anders
ping = objRetStatus.ProtocolAddress
Einde as
volgende
Die September objPing = Niks
Jaareindfunksie

"Debug Prosedure skryf
Sub CrealogError (sData)
As lys = 1 Toe
Dim FSO1, File1
September FSO1 =-Create ("Scripting.FileSystemObject")
September FSO1.OpenTextFile File1 = (8, True "\ Error.csv.")
File1.Write sData & vbcrlf
File1.Close
September File1 = Niks
September FSO1 = Niks
Einde as
End Sub

Grabadlo in Notepad + + met VBS. Met hierdie teks uit te voer, 'n venster waar ons die pad en die naam van die lêer met die lys van toerusting op te spoor of lessenaar of laptop, wanneer die loop van die script nie enige vordering bar of iets tik, maar ons kan sien wat in dieselfde gids 2 ons genereer lêers.

Error.csv y ListadoEquipos.csv.

Die eerste (Error.csv) is my versoek. Wat nodig is om hierdie navraag verskeie kere uit te voer in 'n week, maar net die rekenaars wat kon nie verkry word. Dit skep 'n lêer genaamd error.csv met slegs die lys van rekenaars wat nie vir later gebruik as 'n lêer lys van al die toerusting op versoek verkry word.

Die tweede lêer (ListadoEquipos.csv) is die resultaat van die soektog. 'N csv-lêer met 3 kolomme, die eerste rekenaar naam, die tweede die fout of die rekenaar se IP en die derde die resultaat van die soektog (Desktop, Mini-toring, Notebook, ...)

Ek hoop dat jy wil help. Vir my is dit help my baie.

U mag vra, maar jy moet dit, vir wat ek nodig het in Active Directory van desktop of laptop te bestel en definieer hulle 'n verskeidenheid van polisse (GPO) deur die tipe van toerusting soos gids sinchronisasie is betekenisloos loop op 'n lessenaar. Besparingsmaatreëls wanneer jy die deksel toegemaak, ens ...

En waarom nie dit doen met WMI navrae direk aan die GPO, dan? Waarom nie werk op Windows 2000 WMI navrae van 1 GPO.

Totsiens en veral Carlos Torres dankie vir hierdie groot bydrae.

Related Posts Plugin vir WordPress, Blogger ...
Tags: , , , , , , , , , , , ,


3 Responses to "Hoe op te spoor as 'n rekenaar is 'n skootrekenaar of lessenaarrekenaar met WMI nie."

  1. Victor sê:

    Ek gekopieer word in die notaboek soos jy sê, maar om dit te bewaar. VBS gee my fout dat daar karakters in Unicode-formaat, en toe ek loop gee dit my fout.

  2. xavixaus sê:

    Goeie Victor.
    Jy moet dit doen met Notepad + +
    http://www.megacrack.es/2010/09/24/notepad-5-8-release/

  3. Jose sê:

    En hoe ernstig 'n script om te sien of 'n proses is aktief of reageer nie?
    Dankie

Laat 'n antwoord

XHTML: Jy kan gebruik in die oorspronklike tags: <a href="" title=""> <abbr title = ""> <afkorting title = ""> <b> <blockquote cite = ""> <cite> <code> <del DATETIME = ""> <em> <i> <q cite = ""> <s> <strike> <strong>