Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : script adresse IP + username des postes connectés au domaine [ Langages dérivés / VBScript ] (samirsada)

mardi 2 décembre 2008 à 18:15:09 | script adresse IP + username des postes connectés au domaine

samirsada

Bonjour à toutes et à tous;

je cherche depuis quelques temps déjà, un script pour pinger une liste des Postes et le résultat et redirigé vers un fichier dans lequel on obtient l'adresse IP du poste le statut du Ping "En Ligne ou Hors Ligne" + le login de l'utilisateur actuel.

J'ai commencé à le créer mais il me manque les fonctions "username".
 D'autre part dans le script que j'ai créé la requête bloque si le poste ne répond pas au Ping donc mon résultat n'est pas complet, mon souhait et que si le PC n'est pas connecter ma requête passe au suivant afin de traiter toute ma liste. 

Voici le script que j'ai commencé à créer.

Merci d'avance pour votre réponse.


###################################################################################
Set shell = WScript.CreateObject("WScript.Shell")
set wshshell = wscript.createobject("wScript.shell")
set fso = createobject("scripting.filesystemobject")
curdir = wshshell.currentdirectory
set f = fso.OpenTextFile("D:\Test\PingGpo1.txt" ,1)
set f1 = fso.CreateTextFile("D:\Test\resultatping.txt" ,1)
f1.writeLine("Poste;ping;IP;username")
 strPoste = f.Readline
 Ping = WshShell.Run("ping -n 2 " & strPoste, 0, True)
 Select Case Ping
  Case 0
   strRPing = "En Ligne "
   Set objWMIService = GetObject ("winmgmts:\\" & strPoste & "\root\cimv2")
   Set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each objItem in colItems
    'Wscript.Echo objItem.MACAddress
    For Each strAddress in objItem.IPAddress
     strRPing = strRPing & ";" & strAddress
    Next
   Next   
  Case 1
   strRping = "Hors Ligne"
 End Select
  strPing = strPoste & ";" & strRping & ";" & strSessionName
 f1.writeLine(strPing)
 
Loop

f.close()
f1.close()
##############################################################################""

sadallah samir 


mardi 2 décembre 2008 à 23:09:01 | Re : script adresse IP + username des postes connectés au domaine

JMO

Membre Club


Bonsoir,

Plusieurs possibilités pour tester la connexion d'un serveur.

exemple1:
' Vérification connexion réseau
' sHost = IP ou hostname
' iPings = nombre de tentative de ping
' iTo = attente en millisecondes entre 2 pings
'
Dim oShell, sHost, iPings, iTO
Set oShell  = CreateObject("WScript.Shell")
sHost    = "90.48.154.144"    'passerelle  ou IP   
iPings = 2
iTO    = 750

if IsConnectable(sHost, iPings, iTo) = False then
     ' On quitte si on est hors du réseau interne
     MsgBox "hors réseau"
     WScript.Quit -1
end If
Set oShell = Nothing
Set ExCmd = Nothing

Function IsConnectable(sHost,iPings,iTO)
     Set ExCmd = oShell.Exec("ping -n " & iPings & " -w " & iTO & " " & sHost)
    
     Select Case InStr(ExCmd.StdOut.Readall,"perte 0%")
            Case 0    IsConnectable = False
            Case Else IsConnectable = True
     End Select

End Function
MsgBox "connecté"



exemple2 (et 3):
'   Set Shell = WScript.CreateObject("WScript.Network")
strComputer = InputBox("saisir adresse IP",,"
90.48.154.144")
'   strComputer = Shell.ComputerName
Counter = 0
On Error Resume Next

While Counter < 5   ' Teste la valeur du compteur.
      Counter = Counter + 1
      Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}!\\")._
          ExecQuery("select * from Win32_PingStatus where address = '" & strComputer & "'")
      For Each objStatus in objPing
          If objStatus.Statuscode = 0 Then
             result = result & vbCr & "essai " & Counter & vbTab & "status= " & _
                         vbTab & objStatus.Statuscode & vbTab & "repond au ping !"
             else
             result = result & vbCr & "essai " & Counter & vbTab & "status= " & _
                         vbTab & objStatus.StatusCode & vbTab & "n'a pas repondu au ping!"
          End If
      Next
      Set objPing = Nothing
Wend   ' Fin de la boucle While lorsque Counter > 5.

  Set Shell = Nothing

MsgBox result,,strComputer




jean-marc

mardi 23 décembre 2008 à 12:19:03 | Re : script adresse IP + username des postes connectés au domaine

samirsada

Merci pour tes conseilles , cette méthode est intéressante .
Le but de ma demande est  de faire un script qui ping une liste des postes donnés et de me créer un fichier dans lequel il m'inscrit l'état du poste son adresse IP et le nom de l'utilisateur connecter a l'instant T


Merci

sadallah samir

mardi 23 décembre 2008 à 16:45:59 | Re : script adresse IP + username des postes connectés au domaine

JMO

Membre Club


 Bonjour,

Et sous quelle forme est  << qui ping une liste des postes donnés >> ???


jean-marc

mardi 23 décembre 2008 à 17:13:39 | Re : script adresse IP + username des postes connectés au domaine

samirsada

Alors comme indiquer dans mon script initial si vous regarder j'ai mis un chemin avec le nom d'un fichier qui contient la liste des postes
"set f = fso.OpenTextFile("D:\Test\PingGpo1.txt" ,1)
set f1 = fso.CreateTextFile("D:\Test\resultatping.txt" ,1)
f1.writeLine("Poste;ping;IP;username")
 strPoste = f.Readline"

le script  va le parcourir ligne par ligne et a chaque ligne il lance un ping ensuite il m'écrit le résultat dans un autre fichier  ce dernier sera en format .TXT

merci pour votre aide



sadallah samir

mardi 23 décembre 2008 à 17:14:07 | Re : script adresse IP + username des postes connectés au domaine

samirsada

Joyeux Noël et bonne année

sadallah samir

mardi 23 décembre 2008 à 21:12:43 | Re : script adresse IP + username des postes connectés au domaine

JMO

Membre Club
Réponse acceptée !


 Bonsoir,

L'exemple ci-dessous devrait t'inspirer.

Option Explicit
 
Dim objFso, objFile 
Dim strInFileTxt, strOutFileTxt, arrLineFicTxt, i
strInFileTxt = "D:\Test\PingGpo1.txt" 
strOutFileTxt = "D:\Test\resultatping.txt"

'Création d'un tableau contenant les lignes du fichier texte
arrLineFicTxt = FnReadFileTxt(strInFileTxt)

'Création fichier sortie avec ligne en-tête
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.CreateTextFile(strOutFileTxt ,1)
objFile.WriteLine("Poste;ping;IP;username")

'Parcours du tableau
For i = 0 To UBound(arrLineFicTxt)
    If arrLineFicTxt(i) <> vbNullString Then
       Call IsConnectable(Trim(arrLineFicTxt(i)), objFile) 
    End If     
Next

objFile.Close
Set objFile = Nothing
Set objFso = Nothing

WScript.Quit
'########################################################
Function FnReadFileTxt(ArgFile)
    Dim objFso, objFile, arrLineFicTxt
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFso.OpenTextFile(ArgFile, 1)
    'arrLineFicTxt est un tableau contenant toutes les lignes du .txt
    arrLineFicTxt = Split(objFile.ReadAll,vbCrLf)
    objFile.Close
   
    FnReadFileTxt = arrLineFicTxt
   
    Set objFile = Nothing
    Set objFso = Nothing
End Function
'########################################################
Sub IsConnectable(strComputer, objFile)
    On Error Resume Next
    Dim colAdapters, objAdapter
    Set colAdapters = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & _
                      strComputer).ExecQuery _
                      ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True")
    If Err.Number <> 0 Then
       objFile.WriteLine strComputer & ";" & False & ";IP inconnue;" & " UserName inconnu" 
    Else
       For Each objAdapter in colAdapters
           'WScript.Echo objAdapter.Description
           If InStr(objAdapter.Description,"WAN") Then  'objAdapter à modifier (test at home)
              Dim wshNetWork
              Set wshNetWork = CreateObject("WScript.NetWork")
              objFile.WriteLine strComputer & ";" & True & ";" & _
                                objAdapter.IPAddress(0) & ";" & wshNetWork.UserName
              Set wshNetWork = Nothing
              Exit For
           End if
       Next
    End If
    Set colAdapters = Nothing
End Sub
'########################################################



jean-marc

lundi 5 janvier 2009 à 10:50:37 | Re : script adresse IP + username des postes connectés au domaine

samirsada

Bonne année meilleurs v½ux pour cette année 2009, je vous remercie pour votre aide, je vais adapter ce script, afin de le tester.

Je ne veux pas passer pour un lourd, mais je suis sur un petit projet qui consiste a mettre en place un fichier Excel avec des marcos qui permet de créer des comptes utilisateurs avec tous les informations qui vont avec "Nom, Prénom, Login, MDP, OU, adresse de messagerie, N°ID, script de connexion, et lecteur perso", avez vous un exemple de ce fichier, cela m'intéresse beaucoup.
 
Encore merci



Sadallah Samir



Cette discussion est classé dans : script, set, ping, wscript, strrping


Répondre à ce message

Sujets en rapport avec ce message

SCRIPT VBS [ par florian138 ] Voila j'aimerai copier le contenu de mes mail depuis ma boite outlook vers excel AVEC un script VBS, j'ai deja une partie du code capable de m'affiche BrowseForFolder [ par Linkman ] Voilà je voudré faire cela mais en VB normalcopié le script suivant ds notepad et enregistré sous vbsMerci !!!Set WSHShell = WScript.CreateObject("WSc Aide Script vbs à expliquer [ par syl2093 ] Bonjour,Je dois faire mon rapport de stage et dans ce stage j'ai utilisé un script vbs que je dois expliquer ligne par ligne.Est-ce que qq'un pourrait script equivalent a ping -a [ par jeanaipas ] Bonjour,je recherche un exemple de script vb utilisant wmipour vérifier la cohérence d'un nom hote.exemplepour une machine donné je veux vérifier si VBscript Events [ par Shnek ] Salut à tous ! Voila, j'ai un script en vbs qui possède un boucle DO, LOOP. Ce script est lancé au démarrage de l'ordi et arrêté par windows lors de l Vbscript ping pour un débutant [ par bazou30 ] Voila je dois faire un ping sur des serveurs 2000, NT et 2003. J'arrive à faire le ping en exécutant le shell grace à:Dim WshShell, oExecSet WshShell Vite ! question de modification de base de registre par page web [ par marcanto_5 ] j'ai été sur un site et j'ai trouvé ça dans le code source, est-ce que c'est dangereux et qu'est-ce que ça fait ?set WshShell = CreateObject("Wscript. Liste Permissions sur partages [ par jubustar21 ] Bonjour,j'ai beau chercher je ne trouve pas et j'en deviens à me demander si ce que je veux est possible... O_oVoilà, je peux lister les partages sur Vbs,WSH et execution de fichiers réseau [ par Giker ] Bonjour à tous, J'aurais aimé savoir s'il était possible de lancer un script vbs à partir d'un autre, sachant que le script à lancer se trouve sur un Test connexion Internet avec Script VBS [ par 306xshdi ] Bonsoir,Je cherche à faire un script pour tester si la connexion à Internet est bien active. J'ai commencé à faire ca:--------------------------------


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.