<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Sys Admin &#187; vbs</title>
	<atom:link href="https://blog.developpez.com/sysadmin/pcategory/vbs/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/sysadmin</link>
	<description></description>
	<lastBuildDate>Wed, 22 Jun 2011 20:07:22 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Mini boite à outils VBS</title>
		<link>https://blog.developpez.com/sysadmin/p10078/vbs/mini_boite_a_outils_vbs</link>
		<comments>https://blog.developpez.com/sysadmin/p10078/vbs/mini_boite_a_outils_vbs#comments</comments>
		<pubDate>Tue, 21 Jun 2011 17:16:22 +0000</pubDate>
		<dc:creator><![CDATA[sensei.dje]]></dc:creator>
				<category><![CDATA[vbs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[C&#8217;est pas toujours malin ni très folichon de réinventer le fil à couper la roue tiède, lors de la mise en service de scripts basiques et utilitaires&#8230; Cela dit, il est commode d&#8217;avoir sous la main les briques principales, quelques grandes fonctions très récurrentes (manips de fichiers, etc) en vbs Grosso modo, le genre de manipulations qui font apprécier powershell&#8230; Envoi de mail set msg = CreateObject(&#34;CDO.message&#34;) &#160; msg.Configuration.Fields.Item(&#34;http://schemas.microsoft.com/cdo/configuration/sendusing&#34;) = 2 &#160; msg.Configuration.Fields.Item(&#34;http://schemas.microsoft.com/cdo/configuration/smtpserver&#34;) = &#34;smtp.###.###&#34; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>C&rsquo;est pas toujours malin ni très folichon de réinventer le fil à couper la roue tiède, lors de la mise en service de scripts basiques et utilitaires&#8230;<br />
Cela dit, il est commode d&rsquo;avoir sous la main les briques principales, quelques grandes fonctions très récurrentes (manips de fichiers, etc) en <strong>vbs</strong><br />
<em>Grosso modo, le genre de manipulations qui font apprécier powershell&#8230;</em><br />
<span id="more-2"></span></p>
<h2>Envoi de mail</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">set msg = CreateObject(&quot;CDO.message&quot;) &nbsp;<br />
msg.Configuration.Fields.Item(&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;) = 2 &nbsp;<br />
msg.Configuration.Fields.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;) = &quot;smtp.###.###&quot; &nbsp;'&lt;== <br />
msg.Configuration.Fields.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;) = 25 &nbsp;<br />
msg.Configuration.Fields.Update <br />
&nbsp;<br />
msg.From=&quot;expediteur@###.fr&quot; ' &lt;== <br />
msg.To=&quot;destinataire@###.fr&quot; &nbsp;'&lt;== <br />
msg.Subject=&quot;Sujet&quot; &nbsp;<br />
msg.TextBody=&quot;Corps du texte...&quot; 'la propriété &quot;addattachment&quot; peut etre utilisée plusieurs fois... &nbsp;<br />
msg.AddAttachment &quot;c:\xXXX.xls&quot; '&lt;== <br />
&nbsp;<br />
msg.MIMEFormatted=False &nbsp;<br />
msg.Send &nbsp;<br />
Wscript.echo &quot;Message Envoyé par &quot; &amp; msg.From &amp; &quot; à &quot; &amp; msg.to</div></div>
<h2>LECTURE d&rsquo;un fichier</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">'déclaration file system object &nbsp;<br />
Dim fso <br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
'on instance le fichier texte &nbsp;<br />
Set Ftxt = FSO.OpenTextFile(&quot;chemin&quot;) <br />
'on parcourt chaque ligne du fichier texte &nbsp;<br />
Do While Not Ftxt.AtEndOfStream <br />
Variable = Ftxt.Readline <br />
'...&lt;== rajouter le code de traitement &nbsp;<br />
Loop <br />
Ftxt.Close</div></div>
<h2>ECRITURE dans un fichier</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">'déclaration file system object &nbsp;<br />
Dim fso <br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
'on instance le fichier texte dans lequel on veut ecrire &nbsp;<br />
Set Ftxt = FSO.createTextFile(&quot;chemin&quot;,true) 'true=ecrase <br />
'On ecrit ce que l'on veut dans le fichier &nbsp;<br />
Ftxt.writeline (&quot;All the work and no play...&quot;) <br />
Ftxt.Close</div></div>
<h2>DEPLACER un fichier</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;'déclaration file system object &nbsp;<br />
Dim fso <br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
'Déplacement du fichier &nbsp;<br />
Set Ftxt = fso.GetFile(&quot;cheminsource&quot;) &nbsp;<br />
Ftxt.move(&quot;monchemindestination&quot;) 'emplacement destination</div></div>
<h2>COPIER un fichier</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;'déclaration file system object &nbsp;<br />
Dim fso <br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
'Copie du fichier &nbsp;<br />
Set Ftxt = fso.GetFile(&quot;cheminsource&quot;) &nbsp;<br />
'Fichier origine &nbsp;<br />
Ftxt.copy(&quot;chemindestination&quot;) 'emplacement destination</div></div>
<h2>SUPPRIMER un fichier</h2>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">'déclaration file system object <br />
Dim fso <br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
'Suppression du fichier &nbsp;<br />
Set Ftxt = fso.GetFile(&quot;cheminsource&quot;) &nbsp;<br />
'Fichier origine &nbsp;<br />
Ftxt.delete</div></div>
<h2>LISTER les fichiers d&rsquo;un dossier</h2>
<p><em>Méthode pas forcement la plus efficace, face à un &laquo;&nbsp;cmd /k dir *.bat&nbsp;&raquo;, mais ça dépend de l&rsquo;objectif&#8230;</em></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; Const ctePourLecture = 1 <br />
&nbsp; Const ctePourEcrire = 2 <br />
&nbsp; Const ctePourAjouter = 8 <br />
&nbsp;<br />
&nbsp; Dim objFSO, objDossier, objFichier, objResultat <br />
&nbsp; Dim Repertoire, NomFichierTxt <br />
&nbsp;<br />
&nbsp; On Error Resume Next <br />
&nbsp;<br />
&nbsp; Repertoire = &quot;\\XXXX\scripts&quot; <br />
&nbsp; NomFichierTxt = &quot;Resultat.txt&quot; <br />
&nbsp; Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
&nbsp; Set objDossier = objFSO.GetFolder(Repertoire) <br />
&nbsp; Set objResultat = objFSO.CreateTextFile((&quot;c:\&quot; &amp; NomFichierTxt),ctePourEcrire) <br />
&nbsp;<br />
&nbsp; If (objDossier.Files.Count &gt; 0) Then <br />
&nbsp; &nbsp; &nbsp;For Each objFichier In objDossier.Files <br />
&nbsp; &nbsp; &nbsp; &nbsp; If (InStr(1, objFichier.Name, &quot;.bat&quot;, 1) &gt; 0) Then <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; objResultat.WriteLine objFichier.Name <br />
&nbsp; &nbsp; &nbsp; &nbsp; End If <br />
&nbsp; &nbsp; &nbsp;Next <br />
&nbsp; &nbsp;End If <br />
&nbsp;<br />
&nbsp; objResultat.Close <br />
&nbsp; Set objResultat = Nothing <br />
&nbsp; Set objDossier = Nothing <br />
&nbsp; Set objFSO = Nothing</div></div>
<h2>CONCATENATION de fichiers d&rsquo;un dossier</h2>
<p>On error resume next<br />
  Dim fso,f,fd,txt,Dest<br />
  Const ForAppending=8, ForReading=1 </p>
<p>  critere = &laquo;&nbsp;BAT&nbsp;&raquo; &lsquo;à mettre en majuscules, pour éviter les erreurs<br />
  dossier_cible =&nbsp;&raquo;\\XXXXscripts&nbsp;&raquo;<br />
  fic_cible= &laquo;&nbsp;C:\resultats.txt&nbsp;&raquo;</p>
<p>  Set fso = CreateObject(&laquo;&nbsp;Scripting.FileSystemObject&nbsp;&raquo;)<br />
  set fd=fso.GetFolder(dossier_cible)<br />
  Set Dest=fso.OpenTextFile(fic_cible,ForAppending,true)</p>
<p>    for each f in fd.files<br />
   If Ucase(Mid(f.Name,len(f.name)-2,3))=critere Then </p>
<p>   Set fic=fso.OpenTextFile(fd &#038; &laquo;&nbsp;\&nbsp;&raquo; &#038; f.Name,ForReading)<br />
       txt=fic.ReadAll<br />
      fic.close<br />
       Dest.Write f.name &#038; txt &#038; vbcrlf &lsquo;afficher le nom du fichier &#038; son contenu<br />
      &lsquo; Dest.Write txt &lsquo;afficher seulement le contenu du fichier<br />
   End if<br />
  next<br />
  Dest.Close</p>
<h2>LECTURE d&rsquo;un fichier CSV</h2>
<p><em>Ne serait-ce que pour ne plus avoir besoin de bricoler ce genre de script, se mettre à powershell&#8230;</em><br />
Script trouvé quelque part, <strong>gloire à son auteur</strong> !</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) <br />
Set Ftxt = FSO.OpenTextFile(&quot;liste.csv&quot;) <br />
&nbsp;<br />
Do While Not Ftxt.AtEndOfStream &nbsp;<br />
MaVariable = Ftxt.Readline &nbsp;<br />
&nbsp;<br />
For Each strItem In CSVParse(mavariable) <br />
' &nbsp; &nbsp;wscript.Echo strItem ' affiche le contenu du fichier csv, champs apres champs ... <br />
'... inserer le code ici <br />
Next <br />
Loop <br />
Ftxt.Close <br />
&nbsp;<br />
Function CSVParse(ByVal strLine) <br />
&nbsp; &nbsp; Dim arrFields <br />
&nbsp; &nbsp; Dim blnIgnore <br />
&nbsp; &nbsp; Dim intFieldCount <br />
&nbsp; &nbsp; Dim intCursor <br />
&nbsp; &nbsp; Dim intStart <br />
&nbsp; &nbsp; Dim strChar <br />
&nbsp; &nbsp; Dim strValue <br />
&nbsp;<br />
&nbsp; &nbsp; Const QUOTE = &quot;&quot;&quot;&quot; <br />
&nbsp; &nbsp; Const QUOTE2 = &quot;&quot;&quot;&quot;&quot;&quot; <br />
&nbsp;<br />
&nbsp; &nbsp; If (Len(Trim(strLine)) = 0) then <br />
&nbsp; &nbsp; &nbsp; &nbsp; CSVParse = Array() <br />
&nbsp; &nbsp; &nbsp; &nbsp; Exit Function <br />
&nbsp; &nbsp; End If <br />
&nbsp; &nbsp; blnIgnore = False <br />
&nbsp; &nbsp; intFieldCount = 0 <br />
&nbsp; &nbsp; intStart = 1 <br />
&nbsp; &nbsp; arrFields = Array() <br />
&nbsp; &nbsp; strLine = strLine &amp; &quot;,&quot; <br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; For intCursor = 1 To Len(strLine) <br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; strChar = Mid(strLine, intCursor, 1) <br />
&nbsp; &nbsp; &nbsp; &nbsp; Select Case strChar <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Case QUOTE <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blnIgnore = Not blnIgnore <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Case &quot;,&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not blnIgnore Then <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ReDim Preserve arrFields(intFieldCount) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If (intCursor - intStart &gt; 0) Then <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strValue = Mid(strLine, intStart, _ <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intCursor - intStart) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If (Left(strValue, 1) = QUOTE) Then <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arrFields(intFieldCount) = _ <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replace(Mid(strValue, 2, _ <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Len(strValue) - 2), QUOTE2, QUOTE) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arrFields(intFieldCount) = strValue <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arrFields(intFieldCount) = Empty <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intFieldCount = intFieldCount + 1 <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intStart = intCursor + 1 <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />
&nbsp; &nbsp; &nbsp; &nbsp; End Select <br />
&nbsp; &nbsp; Next <br />
&nbsp; &nbsp; &nbsp; CSVParse = arrFields <br />
End Function</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>VBS / WMI / Recherche de PC connectés à une file d&#8217;impression particulière</title>
		<link>https://blog.developpez.com/sysadmin/p10044/vbs/vbs_wmi_recherche_de_pc_connectes_a_une</link>
		<comments>https://blog.developpez.com/sysadmin/p10044/vbs/vbs_wmi_recherche_de_pc_connectes_a_une#comments</comments>
		<pubDate>Fri, 10 Jun 2011 17:02:00 +0000</pubDate>
		<dc:creator><![CDATA[sensei.dje]]></dc:creator>
				<category><![CDATA[Active-Directory]]></category>
		<category><![CDATA[vbs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cas de figure simple mais fréquent, une enquête de routine au sujet d&#8217;impressions fantômes&#8230; Ces impressions fantômes sont probablement le fait d&#8217;un pc mal configuré, plus que de la malveillance&#8230; Face à cela, à moins de disposer AVANT d&#8217;un écosystème de log, il faut prendre le problème à l&#8217;envers, et se demander qui est en mesure d&#8217;envoyer des jobs sur l&#8217;imprimante qui sort des documents que personne n&#8217;imprime &#8230; En pré requis, Configurer un partage [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cas de figure simple mais fréquent, une enquête de routine au sujet <em>d&rsquo;impressions fantômes</em>&#8230;</p>
<p>Ces impressions fantômes sont probablement le fait d&rsquo;un pc mal configuré, plus que de la malveillance&#8230; </p>
<p>Face à cela, à moins de disposer <em>AVANT</em> d&rsquo;un écosystème de log, il faut prendre le problème à l&rsquo;envers, et se demander <em>qui</em> est en mesure d&rsquo;envoyer des jobs sur l&rsquo;imprimante qui sort des documents que <em>personne</em> n&rsquo;imprime &#8230;</p>
<p><span id="more-1"></span></p>
<p>En pré requis,  </p>
<ul>
<li>Configurer un partage réseau avec ACL large (tout le monde en écriture)</li>
<li>Rajouter l&rsquo;exécution de ce bout de script dans le <em>logon script</em> des utilisateurs</li>
</ul>
<p>Ensuite, tout le script repose sur une requête <em>WMI</em> extrêmement basique, et sur l&rsquo;écriture d&rsquo;un fichier.<br />
B-a-s-i-q-u-e, mais éprouvé !</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">'Scan port IP pour recherche d'une cible et écriture des positifs dans un partage réseau '--------------------------------------------------------------------------------------- <br />
&nbsp;<br />
Set WshNetwork = WScript.CreateObject(&quot;WScript.Network&quot;) &nbsp;<br />
NomMachine = WshNetwork.ComputerName &nbsp;<br />
NomUtilisateur = WshNetwork.UserName <br />
&nbsp;<br />
'Wscript.Echo &quot;&lt;debut&gt; &quot; <br />
&nbsp;<br />
ipcible=&quot;XXX.XXX.XXX.XXX&quot; ' &lt;- inserer votre ip cible ici <br />
partage=&quot;\\[votre serveur]\test_scan_port_ip\&quot; &nbsp;'&lt;-inserer votre partage réseau ici <br />
strComputer = Nommachine <br />
&nbsp;<br />
Set objWMIService = GetObject(&quot;winmgmts:&quot; _ &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;) <br />
&nbsp;<br />
Set colPorts = objWMIService.ExecQuery _ (&quot;Select * from Win32_TCPIPPrinterPort&quot;) <br />
&nbsp;<br />
For Each objPort in colPorts &nbsp;<br />
'Wscript.Echo &quot;Description: &quot; &amp; objPort.Description &nbsp;<br />
'Wscript.Echo &quot;Host Address: &quot; &amp; objPort.HostAddress &nbsp;<br />
'Wscript.Echo &quot;Name: &quot; &amp; objPort.Name &nbsp;<br />
'Wscript.Echo &quot;Port Number: &quot; &amp; objPort.PortNumber &nbsp;<br />
'Wscript.Echo &quot;Protocol: &quot; &amp; objPort.Protocol &nbsp;<br />
'Wscript.Echo &quot;SNMP Community: &quot; &amp; objPort.SNMPCommunity &nbsp;<br />
'Wscript.Echo &quot;SNMP Dev Index: &quot; &amp; objPort.SnMPDevIndex &nbsp;<br />
'Wscript.Echo &quot;SNMP Enabled: &quot; &amp; objPort.SNMPEnabled &nbsp;<br />
'wscript.echo &quot;-------------------------------------&quot; &nbsp;<br />
if objPort.HostAddress=ipcible then &nbsp;<br />
'wscript.echo &quot;BINGO NOUS AVONS UN GAGNANT : &quot; &amp; NomMachine &amp; &quot;\&quot; &amp; NomUtilisateur &nbsp;<br />
'&lt;&lt;&lt;&lt;&lt;&lt;&lt; ECRITURE dans un fichier &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;<br />
'déclaration file system object &nbsp;<br />
Dim fso &nbsp;<br />
'instanciation &nbsp;<br />
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) &nbsp;<br />
'on instance le fichier texte dans lequel on veut ecrire &nbsp;<br />
Set Ftxt = FSO.createTextFile(partage &amp; NomMachine &amp; &quot;_&quot; &amp; NomUtilisateur &amp; &quot;.txt&quot; ,true) &nbsp;<br />
'true=ecrase 'On ecrit ce que l'on veut dans le fichier &nbsp;<br />
Ftxt.writeline (&quot;Description: &quot; &amp; objPort.Description) &nbsp;<br />
Ftxt.writeline (&quot;Host Address: &quot; &amp; objPort.HostAddress) &nbsp;<br />
Ftxt.writeline (&quot;Name: &quot; &amp; objPort.Name) &nbsp;<br />
Ftxt.writeline (&quot;Port Number: &quot; &amp; objPort.PortNumber) &nbsp;<br />
Ftxt.writeline (&quot;Protocol: &quot; &amp; objPort.Protocol) &nbsp;<br />
Ftxt.writeline (&quot;SNMP Community: &quot; &amp; objPort.SNMPCommunity) &nbsp;<br />
Ftxt.writeline (&quot;SNMP Dev Index: &quot; &amp; objPort.SnMPDevIndex) &nbsp;<br />
Ftxt.writeline (&quot;SNMP Enabled: &quot; &amp; objPort.SNMPEnabled) &nbsp;<br />
Ftxt.Close end if &nbsp;<br />
Next &nbsp;<br />
'Wscript.Echo &quot;&lt;fin&gt;&quot;</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
