Jump to content

MikaP

Members
  • Gesamte Inhalte

    8
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von MikaP

  1. Hallo Zusammen,

     

    Ich kann jetzt Drucker hinzufügen, leider habe ich nun ein anderes Problem ;( Ich würde dem Drucker auch gerne eine IP zuweisen, wie z.b eine Beschreibung, weiß jemand, welche Eigenschaften diese Objekte haben?

     

    Set oPrinter = CreateObject("PrintMaster.PrintMaster.1")

    Set xPrinter = CreateObject("Printer.Printer.1")

    Nvm. hab es ;)

  2. Hallo Zusammen,

     

    Hätte jemand eine Idee, wie man einen Drucker durch VBS hinzufügen kann? Die WMI Klasse "Win32_Printer" hat zwar die Funktion AddPrinterConnection, aber diese ist leider noch nicht implentiert und deshalb nicht funktionsfähig.

     

    Microsoft, bietet diese Möglichkeit an:

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
    PrinterPath = "\\printserv\DefaultPrinter"
    
    WshNetwork.AddWindowsPrinterConnection PrinterPath

     

    Doch hierbei erhalte ich immer wieder Fehlermeldungen ;(

     

    Danke im Voraus

  3. Hab es nun hinbekommen, mit dem folgenden Code kann man in einer Domäne von jedem Computer die Port Geschwindigkeit auslesen, soweit man Rechte hat.

     

    Mh, die Formatierung scheint hier nicht richtig zu funktionieren ;(

    Option Explicit
    On Error Resume Next
    
    Const strFilePath = "c:\"
    Const strFileName = "PortSpeed.txt"
    
    dim objSearchDomains, strDomain, strDomainList, arrDomainList(), iCount, strDomainInput, strDomainExist, objAnalyzeDomain
    dim objFs, objFile, objWbemServices
    dim colNetAdapterList, colNetAdapterSpeed
    dim strPC
    dim strAdapterName, strAdapterSpeed
    
    iCount = 0
    strDomainExist = false
    
    set objSearchDomains = GetObject("WinNT:")
    
    for each strDomain in objSearchDomains
    
      if iCount <= 0 then
    
       ReDim arrDomainList(iCount)
       arrDomainList(iCount) = strDomain.Name
    
      else
    
       ReDim Preserve arrDomainList(iCount)
       arrDomainList(iCount) = strDomain.Name
    
    end if
    
      iCount = iCount + 1
      strDomainList = strDomainList & strDomain.Name & vbCr
    
    next
    
    
    if strDomainList <> "" then
    
      strDomainInput = InputBox("Bitte geben Sie die gewünschte Domain ein." & vbCr _
                              & "Gefundene Domains:" & vbCr & strDomainList, "Domain Eingeben")
    
      if strDomainInput <> "" then	
    
       for iCount=0 to uBound(arrDomainList)
    
    	   if StrComp(arrDomainList(iCount), uCase(strDomainInput)) = 0 then
    
    		   strDomainExist = true
    		   exit for
    
    		end if
    
    	next
    
    	if strDomainExist = true then
    
            set objAnalyzeDomain = GetObject("WinNT://" & strDomainInput)
    
          objAnalyzeDomain.Filter = array("Computer")
    
          set objFs = CreateObject("Scripting.FileSystemObject")
          set objFile = objFs.CreateTextFile(strFilePath & strFileName, true)
    
            for each strPC in objAnalyzeDomain
    
               set objWbemServices = GetObject("winmgmts:\\" & strPC.Name & "\root\cimv2")
    
               if Err.Number = 462 then
    
                objFile.WriteLine "PC: " & strPC.Name & " ||" & " NetController: " & "n/a" & " ||" & " PortSpeed: " & "n/a" & vbCr
                Err.Clear
    
    
               else
    
      				set colNetAdapterList = objWbemServices.ExecQuery("Select Name from Win32_NetworkAdapter where AdapterType = 'Ethernet 802.3'")
    
                for each strAdapterName in colNetAdapterList
    
                   set colNetAdapterSpeed = objWbemServices.ExecQuery("Select CurrentBandwidth from Win32_PerfRawData_Tcpip_NetworkInterface where Name = '" & strAdapterName.Name & "'")
    
                   for each strAdapterSpeed in colNetAdapterSpeed
    
      				      if strAdapterSpeed.CurrentBandwidth <> "" then
    
       		             objFile.WriteLine "PC: " & strPC.Name & " ||" & " NetController: " & strAdapterName.Name & " ||" & " PortSpeed: " & (strAdapterSpeed.CurrentBandwidth / 1000) / 1000 & " MBit/s" & vbCr
    
    		          end if
    
    			      exit for
    
    	           next
    
                next
    
    
    			end if
    
    			objFile.WriteLine vbCr
    
    
            next
    
          objFile.close
    
          MsgBox "Die Daten wurden erfolgreich in die Datei " & strFilePath & strFileName & " geschrieben.", 0, "Schreiben erfolgreich" 
    
       else
    
            MsgBox "Diese Domain existiert nicht.", 0, "Fehler: Domain existiert nicht."
    
    	end if
    
      else
    
         MsgBox "Es wurde keine Domain eingegeben.", 0, "Fehler: Keine Domain Eingabe"
    
      end if
    
    else 
    
      MsgBox "Es konnte keine Domains gefunden werden.", 0, "Fehler: Kein Domains vorhanden"
    
    end if 
    

  4. :( das hört sich, aber gar nicht gut an, den mein Problem ist das ich von einem Domain Controller aus, alle PC's in der Domain durchgehen muss und deren Port Geschwindigkeit messen soll, dann taucht nämlich ein Problem auf ... ich werde später ein backup von meiner notebook festplatte machen(mein Notebook ist kaputt) und den code dann hier posten und weiter auf's Problem eingehen.

  5. Guten Tag Zusammen,

     

    Ich habe eine Frage zum Thema WMI Scripting mit VbSkript. Ich habe folgendes Problem, normalweise gibt man die Eigenschaften einer Klasse in WMI so aus:

     

    dim strPC, strNetworkAdapter

     

    strPC = MeinPC

     

    set objWbemServices = GetObject("winmgmts:\\" & strPC & "\root\cimv2")

    set objNetworkAdapter = objWbemServices.ExecQuery("Select * from Win32_NetworkAdapter where AdapterType = 'Ethernet 802.3'")

     

    for each strNetworkAdapter in objNetworkAdapter

     

    'Nur den Namen des Netzwerkadapters ausgeben ...

    MsgBox strNetworkAdapter.Name

     

    next

     

    Nun möchte ich, aber nur eine Eigenschaft ausgeben und diese direkt in einer Variable speichern und das ohne den for each. Jemand eine Idee?

     

    Danke im Voraus

×
×
  • Neu erstellen...