Création d'une liste de toutes les applications qui démarre avec windows avec des informations sur la machine

Description

Création d'une liste de toutes les applications qui démarre avec windows avec des informations sur la machine
- Nom de la machine
- Adresse Ip en utilisant la commande Ipconfig /all
- connaître les connexions TCP actives sur la machine et ainsi lister l'ensemble des ports TCP et UDP ouverts sur l'ordinateur avec la cmd Netstat
'- Affichage du Résultat en ".htm",".doc" ,".rtf." s'il, n'est pas spécifié par défaut est .htm

Source / Exemple :


'----------------------------------------------------------StartupList.vbs-----------------------------------------------------------------------------------------------------------			   
' -  Création d'une liste de toutes les applications qui démarre avec windows avec des informations sur la machine
'- Nom de la machine
' - Adresse Ip en utilisant la commande Ipconfig /all
'- connaître les connexions TCP actives sur la machine et ainsi lister l'ensemble des ports TCP et UDP ouverts sur l'ordinateur avec la cmd Netstat
'- Affichage du Résultat  en ".htm",".doc" ,".rtf." s'il, n'est pas spécifié par défaut est .htm
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim WshShell,obj,Command,Result,Temp,FileName,File,ver,Resultver
Set obj = WScript.CreateObject("Scripting.FileSystemObject")
Set WshShell=WScript.CreateObject("WScript.Shell")

' **************************Choix de l'extension  du format du Resultat de sortie**************************
' La variable FileExt  peu-être utilisé pour changer le format du Resultat de sortie par défaut
' Suggestions: htm, doc, rtf.  s'il, n'est pas spécifié par défaut est .htm
  FileExt = "" : If FileExt = "" Then FileExt = "htm" 'ici  j'ai choisi "htm"

' La variable OpenWith est optionnelle, pour ouvrir les resultas dans des program spécifiques
' Si la variable est vide, Windows utilisera  le programme par défaut pour  FileExt type
  OpenWith = "" : If OpenWith <> "" Then OpenWith = Trim(OpenWith) & " "
' **************************************************************************************************

With CreateObject("WScript.Network")
  ComputerName = .ComputerName
  UserName = .UserName
End With
ping
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
TmpFile = ws.ExpandEnvironmentStrings("%TEMP%") & "\Startup." & Trim(FileExt)
temp=FSO.GetSpecialFolder(2)
set lit = fso.OpenTextFile(temp &"\ip.txt", 1,True) 

With fso.CreateTextFile(TmpFile, True)
  .WriteLine "<center>INFORMATIONS SUR CET ORDINATEUR " & ComputerName & ": Utilisateur  :  "  & UserName & " @ " & Now() &"</center>"
                       
Do While Not lit.AtEndOfStream
oneline = lit.readline

.writeline "<html><body bgcolor=#000000 text=#Green><br>"
.writeline oneline
loop
  For Each o in GetObject _
      ("winmgmts:\\" & ComputerName & "\root\cimv2").ExecQuery(_
      "Select Name, Command, User, Location from Win32_StartupCommand",,48)
    If LCase(o.Command) <> "desktop.ini" _
        AND LCase(o.User) <> ".default" _
        AND InStr(LCase(o.User), "nt authority") = 0 Then
      .Writeline "<br>"
      .WriteLine WriteCode("Nom: " & o.Name)
      .WriteLine WriteCode("Commande: " & o.Command)
      .WriteLine WriteCode("Utilisateur: " & o.User)
      .WriteLine WriteCode("Point de démarrage: " & o.Location)
      
    Else
      s = s & vbcrlf & WriteCode("Nom: " & o.Name)
      s = s & vbcrlf & WriteCode("Commande: " & o.Command)
      s = s & vbcrlf & WriteCode("Utilisateur: " & o.User)
      s = s & vbcrlf & WriteCode("Point de démarrage: " & o.Location)
     
    End If
  Next
  
  If s <> "" Then
    .WriteLine WriteCode(String(60, "*"))
    .WriteLine WriteCode("Autres éléments Additionels non révélé(s) " & _
                         "dans la configuration de démarrage:")
    .WriteLine s
    .WriteLine WriteCode("")
  End If
  .Close
End With

On Error Resume Next
ws.Run OpenWith & TmpFile,,True
On Error GoTo 0
'fso.GetFile(TmpFile).Delete   'ici si vous voulez effacer ou non le fichier temporaire de startup.htm généré par ce script .c'est a vous de décider  
Set fso = Nothing
Set ws = Nothing
'--------------------------------------------------Ajout du code Html------------------------------------------------------------------
Function WriteCode(sIn)
  If LCase(FileExt) = "htm" OR LCase(FileExt) = "html" Then
    WriteCode = sIn & "<html><body bgcolor=#000000 text=#Green><br>"
  Else
    WriteCode = sIn
  End If
End Function
'-------------------------------------------------------------------------------------------------------------------------------------------
Function Ping()
    FileName=GetTempFile("ip.txt")
    ver="%COMSPEC% /C ver  > %TEMP%\ip.txt"
    Command = "%COMSPEC% /C ipconfig/all  >> %TEMP%\ip.txt"
    command2= "%COMSPEC% /C netstat -an -p TCP  >> %TEMP%\ip.txt"
'Netstat est un outil permettant de connaître connexions TCP actives sur la machine sur laquelle la commande et activée et ainsi lister l'ensemble des ports TCP et UDP ouverts sur l'ordinateur.
'La commande « netstat » permet également d'obtenir des statistiques sur un certain nombre de protocoles (Ethernet, IPv4, TCP, UDP, ICMP et IPv6).
'Paramètres de la commande netstat
'Utilisée sans aucun argument, la commande netstat affiche l'ensemble des connexions ouvertes par la machine. La commande netstat possède un certain nombre de paramètres optionnels, sa syntaxe est la suivante :
'netstat [-a] [-e] [-n] [-o] [-s] [-p PROTO] [-r] [intervalle]
'Utilisée avec l'argument -a, la commande netstat affiche l'ensemble des connexions et des ports en écoute sur la machine.
'Utilisée avec l'argument -e, la commande netstat affiche les statistiques Ethernet.
'Utilisée avec l'argument -n, la commande netstat affiche les adresses et les numéros de port en format numérique, sans résolution de noms.
'Utilisée avec l'argument -o, la commande netstat détaille le numéro du processus associé à la connexion.
'Utilisée avec l'argument -p suivi du nom du protocole (TCP, UDP ou IP), la commande netstat affiche les informations demandées concernant le protocole spécifié.
'Utilisée avec l'argument -r, la commande netstat permet d'afficher la table de routage.
'Utilisée avec l'argument -s, la commande netstat affiche les statistiques détaillées par protocole.
    Resultver=WshShell.Run(ver,0,True)
    Result = WshShell.Run(Command,0,True)
    Result2 = WshShell.Run(Command2,0,True)
    Temp = obj.GetSpecialFolder(2).Path
    Set File = obj.OpenTextFile(FileName)
    Ping = file.ReadAll
    file.Close
End Function
'-----------------------------------------------------------------------------------------------------------------------------------------
Function GetTempFile(File)
GetTempFile=WshShell.ExpandEnvironmentStrings("%TEMP%") & "\" & File
End Function
'----------------------------------------------------------------------------------------------------------------------------------------
Function pinghtml()
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
FileExt = "" : If FileExt = "" Then FileExt = "htm"
TmpFile = ws.ExpandEnvironmentStrings("%TEMP%") & "\Startup." & Trim(FileExt)
temp=FSO.GetSpecialFolder(2)
set lit = fso.OpenTextFile(temp &"\ip.txt", 1,True) 
With fso.openTextFile(TmpFile, 2,True)
Do While Not lit.AtEndOfStream
oneline = lit.readline
.writeline "<html><body bgcolor=#000000 text=#Green><br>"
.writeline oneline
loop
end With
end Function

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.