utilisation de Win32_PrinterConfiguration

utilisation de Win32_PrinterConfiguration - VB/VBA/VBS - Programmation

Marsh Posté le 15-01-2009 à 20:15:53    

Code :
  1. Dim objWMIService, colPrinters, objItem
  2. Dim strComputer
  3. Dim nom
  4. On Error Resume Next
  5. strComputer = "."
  6. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  7. Set colPrinters = objWMIService.ExecQuery("Select * from Win32_PrinterConfiguration where name ='imprimante'" )', , 48)
  8. For Each objService in colPrinters
  9.     WScript.Echo "Valeur de copies: " & objService.Copies
  10. Next


 
 
Ce script VBS affiche le nombre de page par feuille à imprimer sur une imprimante nommée "imprimante".
En vbs est-il possible de changer cette valeur ?un .set ou autre ?
THX

Reply

Marsh Posté le 15-01-2009 à 20:15:53   

Reply

Marsh Posté le 21-01-2009 à 18:42:13    

Code :
  1. RepDeBase = "c:\WMI_CLASSES\Scripts"
  2. SousRepDeBase = "c:\WMI_CLASSES\scripts\extraction"
  3. SousRepDeBaseLogs = "c:\WMI_CLASSES\Scripts\Logs"
  4. Set fso = CreateObject("Scripting.FileSystemObject" )
  5. If Not fso.FolderExists(RepDeBase) Then
  6. fso.CreateFolder(RepDeBase)
  7. End If
  8. If Not fso.FolderExists(SousRepDeBase) Then
  9. fso.CreateFolder(SousRepDeBase)
  10. End If
  11. If Not fso.FolderExists(SousRepDeBaseLogs) Then
  12. fso.CreateFolder(SousRepDeBaseLogs)
  13. End If
  14. strComputer = "."
  15. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  16. For Each objclass in objWMIService.SubclassesOf()
  17. intCounter=0
  18. If Left(objClass.Path_.Class,5) = "Win32" Then
  19.  For Each Qualifier in objClass.Qualifiers_
  20.   If UCase(Trim(Qualifier.Name)) = "ASSOCIATION" Then
  21.    intCounter = 1
  22.   End If
  23.  Next
  24.  If toto = 0 Then
  25.   strComputer = "."
  26.   Set objWMIService = GetObject ("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  27.   Set strClass = objWMIService.Get(objClass.Path_.Class)
  28.   Dim fso, MonFichierVbs
  29.   Set fso = CreateObject("Scripting.FileSystemObject" )
  30.   Set MonFichierVbs = fso.CreateTextFile(SousRepDeBase & chr(92) & objClass.Path_.Class & ".vbs", True)
  31.   MonFichierVbs.WriteLine("On Error Resume Next" & VbCrLf)
  32.   MonFichierVbs.WriteLine(" strComputer = "& chr(34) & "." & chr(34) & VbCrLf)
  33.   MonFichierVbs.WriteLine("Set objFSO = CreateObject(" & chr(34) & "Scripting.FileSystemObject" & chr(34) & " )" )
  34.   MonFichierVbs.WriteLine("Set objFile = objFSO.CreateTextFile(" & chr(34) & SousRepDeBaseLogs & chr(92) & objClass.Path_.Class & ".log" & chr(34) & " )" & VbCrLf)
  35.   MonFichierVbs.WriteLine(" Set objWMIService = GetObject(" & chr(34) & "winmgmts:\\" & chr(34) & " & strComputer & " & chr(34) & "\root\cimv2" & chr(34) & " )" )
  36.   MonFichierVbs.WriteLine(" Set colItems = objWMIService.ExecQuery(" & chr(34) & "Select * from" & " " & objClass.Path_.Class & chr(34) & ",,48)" & VbCrLf)
  37.   CompteurPropriete = 0
  38.   CompteurTotal = 0
  39.   For each strItem in strClass.properties_
  40.    CompteurPropriete = CompteurPropriete + 1
  41.    'wscript.echo strItem.name
  42.   Next
  43.   CompteurTotal = CompteurPropriete + CompteurTotal
  44.   CompteurPropriete = 0
  45.   'For each strItem in strClass.properties_
  46.   ' CompteurPropriete = CompteurPropriete + 1
  47.   'Next
  48.   MonFichierVbs.WriteLine("" )
  49.   MonFichierVbs.WriteLine(" For each objItem in colItems" & VbCrLf)
  50.   CompteurPropriete = 0
  51.   AppelFunctionDate = 0
  52.   MonFichierVbs.WriteLine(" Set WshNetwork = WScript.CreateObject (" & chr(34) & "WScript.Network" & chr(34) & " )" )
  53.   'MonFichierVbs.WriteLine(" objFile.WriteLine " VBCRLF & VBCRLF & VBCRLF & chr(34) & "NomDuPoste   = " & chr(34) & " & WshNetwork.ComputerName" )
  54.   MonFichierVbs.WriteLine(" objFile.WriteLine  VBCRLF & VBCRLF & VBCRLF " )
  55.   MonFichierVbs.WriteLine(" MaDate = " & chr(34) & Date & chr(34) )
  56.   MonFichierVbs.WriteLine(" MonHeure = " & chr(34) & Time & chr(34) )
  57.   For each strItem in strClass.properties_
  58.    CompteurPropriete = CompteurPropriete + 1
  59.    If strItem.CIMType <> 101 Then
  60.     MonFichierVbs.WriteLine(" objFile.WriteLine " & chr(34) & strItem.name & "   = " & chr(34) & " & Cstr(objItem." & strItem.Name & " )" )
  61.    End If
  62.    If strItem.CIMType = 101 And CompteurPropriete <> CompteurTotal Then
  63.     MonFichierVbs.WriteLine(" objFile.WriteLine " & chr(34) & strItem.name & "   = " & chr(34) & " & TriVracDate(objItem." & strItem.name & " )" )
  64.    End If
  65.    If strItem.CIMType = 101 Then
  66.     AppelFunctionDate = 1
  67.    End If
  68.    If AppelFunctionDate = 1 And CompteurPropriete = CompteurTotal Then
  69.     MonFichierVbs.WriteLine(VbCrLf & " Next" & VbCrLf)
  70.     MonFichierVbs.WriteLine(" Function TriVracDate(CaDate)" & VbCrLf)
  71.     MonFichierVbs.WriteLine(" TriVracDate = (Left(CaDate, 4) & " & chr(34) & "/" & chr(34) & " & Mid(CaDate, 5, 2) & " & chr(34) & "/" & chr(34) & " & Mid(CaDate, 7, 2) & _" )
  72.     MonFichierVbs.WriteLine(" " & chr(34) & " - (" & chr(34) & " & (Mid(CaDate, 9, 2) & " & chr(34) & ":" & chr(34) & " & Mid(CaDate, 11, 2) & " & chr(34) & ":" & chr(34) & " & Mid(CaDate, 13, 2))) & " & chr(34) & " )" & chr(34) & VbCrLf)
  73.     MonFichierVbs.WriteLine(" End Function" & VbCRLf)
  74.    Else
  75.     If AppelFunctionDate <> 1 And CompteurPropriete = CompteurTotal Then
  76.      MonFichierVbs.WriteLine(VbCrLf & " Next" & VbCrLf)
  77.     End If
  78.    End If
  79.   Next
  80.  End If
  81. End If
  82. Next
  83. MonFichierVbs.Close
  84. Set objShell = WScript.CreateObject("WScript.Shell" )
  85. Set folder = FSO.GetFolder(SousRepDeBase) 
  86. Set file = Folder.files
  87. For each file In folder.Files
  88. If file.name <> "Win32_ActionCheck.vbs" and file.name <> "Win32_CheckCheck.vbs" and file.name <> "Win32_LogicalFileSecuritySetting.vbs" & _
  89. file.name <> "Win32_SecuritySetting.vbs" and file.name <> "Win32_SecuritySettingOfLogicalFile.vbs" and file.name <> "Win32_SecuritySettingOfObject.vbs" and & _
  90. file.name <> "Win32_ManagedSystemElementResource.vbs" and file.name <> "Win32_MethodParameterClass.vbs" and & _
  91. file.name <> "Win32_SoftwareElementAction.vbs" Then
  92.  Result = ObjShell.run (SousRepDeBase & "\" & file.name,1,TRUE)
  93. End If
  94. Next
  95. wscript.echo "End run all VBS"


 
 
Voici un script qui liste tous les objet WMI, qui fait pour chaque Objet un VBS et qui lance les VBS Créés.
 
Ainsi tu as tous les paramêtres des objets...
 
J'espère que tu trouvera ton bonheure....
 
Fred

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed