La prière du Geek

Version Linuxienne :

Notre torwald qui es sur le net
Que ton nom soit affiché
Que linux vienne
Que ton noyau soit compilé avec ou sans options
Donne nous aujourd’hui notre code de ce jour
Pardonne nous nos bugs, comme nous pardonnons aussi aux Freeware trops buggés
Et ne nous soumets pas a la crosoftisation
Et délivre nous de windows
Amen

Version Windowsienne :

Notre Gates, qui est à Seattle,
Que Ton Windows soit débogué,
Que Ton monopole s’impose,
Que Tes commandes soient exécutées
Sur le Web comme sur le disque dur.
Donne-nous aujourd’hui
Nos mises à jour quotidiennes
Et pardonne-nous nos utilisations de Linux
Comme nous pardonnons aussi
A ceux qui ont utilisé des Macs.
Et ne nous soumets pas au Dr Norton
Mais délivre nous du plantage
Car c’est à toi qu’appartiennent
Le Copyright, les Mégahertz et les Capitaux.
Amen

Source : bashfr.org

Le code source de Windows Vista®

Voici le précieux sésame :

/*
GNOT General Public License!
(c) 1995-2007 Microsoft Corporation
*/

#include “dos.h”
#include “win95.h”
#include “win98.h”
#include “sco_unix.h”

class WindowsVista extends WindowsXP implements Nothing
{}

int totalNewFeatures = 3;
int totalWorkingNewFeatures = 0;
float numberOfBugs = 345889E+O8;
boolean readyForRelease = FALSE;

void main {
   while (!CRASHED) {
      if (first_time_install) {
         if ((installedRAM < 2GB) ||   (processorSpeed < 4GHz)) {
            MessageBox("Hardware incompatibility error.");
            GetKeyPress();
            BSOD();
         }
      }
      Make10GBswapfile():
      SearchAndDestroy(FIREFOX|OPENOFFICEORG|ANYTHING_GOOGLE);
      AddRandomDriver();
      MessageBox("Driver incompatibility error.");
      GetKeyPress();
      BSOD();
   }

   //printf("Welcome to Windows 2000");
   //printf(Welcome to Windows XP");
   printf (“Welcome to Windows Vista”);

   if (still_not_crashed){
      CheckUserLicense();
      DoubleCheckUserLicense();
      TripleCheckUserLicense();
      RelayUserDetaitsToRedmond();

      DisplayFancyGraphics();
      FlickerLED(hard_drive);
      RunWindowsXP();
      return LotsMoreMoney,
   }
}

VBS: Traitement de fichier

'<<<<<<< LECTURE d'un fichier >>>>>>>>>>>>
'déclaration file system object
Dim fso
 
'instanciation
Set FSO = CreateObject("Scripting.FileSystemObject")
 
'on instance le fichier texte 
Set Ftxt = FSO.OpenTextFile("Monchemin")
 
'on parcours chaque ligne du fichier texte

Do While Not Ftxt.AtEndOfStream
      MaVariable = Ftxt.Readline
      '....... <- votre code ici pour traiter chaque ligne
Loop
 
Ftxt.Close
 
'<<<<<<< ECRITURE dans un fichier >>>>>>>>>>>>
'déclaration file system object

Dim fso
 
'instanciation

Set FSO = CreateObject("Scripting.FileSystemObject")
 
'on instance le fichier texte dans lequel on veut ecrire

Set Ftxt =  FSO.createTextFile("Monchemin",true) 'true=ecrase

'On ecrit ce que l'on veut dans le fichier 

Ftxt.writeline ("Mon texte à écrire ou ma Variable texte")
Ftxt.Close
 
'<<<<<<<<<  DEPLACER un fichier >>>>>>>>>>>>>>>
'déclaration file system object

Dim fso
 
'instanciation

Set FSO = CreateObject("Scripting.FileSystemObject")
 
'Déplacement du fichier

Set Ftxt = fso.GetFile("moncheminsource")   'Fichier origine
Ftxt.move("monchemindestination") 'emplacement destination

'<<<<<<<<<  COPIER un fichier >>>>>>>>>>>>>>>
'déclaration file system object

Dim fso
 
'instanciation

Set FSO = CreateObject("Scripting.FileSystemObject")
 
'Copie du fichier

Set Ftxt = fso.GetFile("moncheminsource")   'Fichier origine
Ftxt.copy("monchemindestination") 'emplacement destination
 
'<<<<<<<<<  SUPPRIMER un fichier >>>>>>>>>>>>>>>
'déclaration file system object

Dim fso
 
'instanciation

Set FSO = CreateObject("Scripting.FileSystemObject")
 
'Suppression du fichier

Set Ftxt = fso.GetFile("moncheminsource")   'Fichier origine
Ftxt.delete

VBS: Connaître le nom de machine

'Retourne le nom de machine dans un fichier nom_machine.txt
Dim fso, tf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set tf = fso.CreateTextFile(".\nom_machine.txt", True)
 
Public Function Computer_Name()
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  Computer_Name = WshNetwork.ComputerName
End Function
 
    tf.WriteLine("Nom de la machine: " & Computer_Name)
tf.Close

Fonction include en vbs

'---------------Fonction permettant d'inclure un fichier *.vbs
Sub Include(sInstFile)
  On Error Resume Next
  Dim oFSO, f, s
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  If oFSO.FileExists(sInstFile) Then
    Set f = oFSO.OpenTextFile(sInstFile)
    s = f.ReadAll
    f.Close
    ExecuteGlobal s
  End If
  Set oFSO = Nothing
  Set f = Nothing
End Sub
 
'----------------Inclusion
include("mon_fichier.vbs")

VBS: Manipulation de fichiers ini

'----------------------------------
' Manipulation des fichiers ini
'----------------------------------
 
Sub WriteINIStringVirtual(Section, KeyName, Value, FileName)
  WriteINIString Section, KeyName, Value, _
    Server.MapPath(FileName)
End Sub
 
Function GetINIStringVirtual(Section, KeyName, Default, FileName)
  GetINIStringVirtual = GetINIString(Section, KeyName, Default, _
    Server.MapPath(FileName))
End Function 
 
'Work with INI files In VBS (ASP/WSH)
'v1.00
'2003 Antonin Foller, PSTRUH Software, http://www.motobit.com
'Function GetINIString(Section, KeyName, Default, FileName)
'Sub WriteINIString(Section, KeyName, Value, FileName)
 
Sub WriteINIString(Section, KeyName, Value, FileName)
  Dim INIContents, PosSection, PosEndSection
  'Get contents of the INI file As a string
  INIContents = GetFile(FileName)
 
  'Find section
  PosSection = InStr(1, INIContents, "[" & Section & "]", vbTextCompare)
  If PosSection>0 Then
    'Section exists. Find end of section
    PosEndSection = InStr(PosSection, INIContents, vbCrLf & "[")

    '?Is this last section?
    If PosEndSection = 0 Then PosEndSection = Len(INIContents)+1
 
    'Separate section contents
    Dim OldsContents, NewsContents, Line
    Dim sKeyName, Found
    OldsContents = Mid(INIContents, PosSection, PosEndSection - PosSection)
    OldsContents = split(OldsContents, vbCrLf)
 
    'Temp variable To find a Key
    sKeyName = LCase(KeyName & "=")
 
    'Enumerate section lines
    For Each Line In OldsContents
      If LCase(Left(Line, Len(sKeyName))) = sKeyName Then
        Line = KeyName & "=" & Value
        Found = True
      End If
 
      NewsContents = NewsContents & Line & vbCrLf
 
    Next
 
    If isempty(Found) Then
      'key Not found - add it at the end of section
      NewsContents = NewsContents & KeyName & "=" & Value
    Else
      'remove last vbCrLf - the vbCrLf is at PosEndSection
      NewsContents = Left(NewsContents, Len(NewsContents) - 2)
    End If
 
    'Combine pre-section, new section And post-section data.

    INIContents = Left(INIContents, PosSection-1) & _
      NewsContents & Mid(INIContents, PosEndSection)
  else'if PosSection>0 Then
    'Section Not found. Add section data at the end of file contents.
    If Right(INIContents, 2) <> vbCrLf And Len(INIContents)>0 Then 
      INIContents = INIContents & vbCrLf 
    End If
    INIContents = INIContents & "[" & Section & "]" & vbCrLf & _
      KeyName & "=" & Value
  end if'if PosSection>0 Then
  WriteFile FileName, INIContents
End Sub
 
Function GetINIString(Section, KeyName, Default, FileName)
  Dim INIContents, PosSection, PosEndSection, sContents, Value, Found
 
  'Get contents of the INI file As a string
  INIContents = GetFile(FileName)
 
  'Find section

  PosSection = InStr(1, INIContents, "[" & Section & "]", vbTextCompare)
  If PosSection>0 Then
    'Section exists. Find end of section
    PosEndSection = InStr(PosSection, INIContents, vbCrLf & "[")
 
    '?Is this last section?
    If PosEndSection = 0 Then PosEndSection = Len(INIContents)+1
 
    'Separate section contents
    sContents = Mid(INIContents, PosSection, PosEndSection - PosSection)
 
    If InStr(1, sContents, vbCrLf & KeyName & "=", vbTextCompare)>0 Then
      Found = True

      'Separate value of a key.
      Value = SeparateField(sContents, vbCrLf & KeyName & "=", vbCrLf)
    End If
  End If
 
  If isempty(Found) Then Value = Default

  GetINIString = Value
 
End Function
 
'Separates one field between sStart And sEnd
Function SeparateField(ByVal sFrom, ByVal sStart, ByVal sEnd)
  Dim PosB: PosB = InStr(1, sFrom, sStart, 1)
  If PosB > 0 Then
    PosB = PosB + Len(sStart)
    Dim PosE: PosE = InStr(PosB, sFrom, sEnd, 1)
    If PosE = 0 Then PosE = InStr(PosB, sFrom, vbCrLf, 1)
    If PosE = 0 Then PosE = Len(sFrom) + 1
    SeparateField = Mid(sFrom, PosB, PosE - PosB)
  End If
End Function
 
'File functions
Function GetFile(ByVal FileName)
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  'Go To windows folder If full path Not specified.
  If InStr(FileName, ":\") = 0 And Left (FileName,2)<>"\\" Then 
    FileName = FS.GetSpecialFolder(0) & "\" & FileName
  End If
  On Error Resume Next
  GetFile = FS.OpenTextFile(FileName).ReadAll
End Function
 
Function WriteFile(ByVal FileName, ByVal Contents)
 
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  'On Error Resume Next
  'Go To windows folder If full path Not specified.

  If InStr(FileName, ":\") = 0 And Left (FileName,2)<>"\\" Then 
    FileName = FS.GetSpecialFolder(0) & "\" & FileName
  End If
 
  Dim OutStream: Set OutStream = FS.OpenTextFile(FileName, 2, True)
 
  OutStream.Write Contents
 
End Function
 
'---------------------------------------------------------------
' Fonction qui récupère le chemin courant
' car sinon, ce script utilise par défaut le répertoire windows 
'---------------------------------------------------------------
 
Function GetPath()
 
Dim path
	path = WScript.ScriptFullName
	GetPath = Left(path, InStrRev(path, "\"))
End Function
 
Msgbox GetPath()
 
'------------------------------------------
' Exemple de manipulation de fichiers ini
'------------------------------------------
 
'WriteINIString "Mail", "MAPI", "3", "./win.ini"

'wscript.echo GetINIString("Mail", "MAPI", "-", "win.ini")

Read and write windows INI files in VBSscript

VBS: Détection d’imprimantes

Script 1

'ce script cherche les imprimantes connectées à la machine
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer")

'boucle qui va afficher toutes les imprimantes
For Each objPrinter in colInstalledPrinters
	'Le if ci-dessous permet de n'afficher que l'imprimante par défaut
	'Il faut le supprimer si on veut toutes les imprimantes
	If objPrinter.Default = "Vrai" Then
		Wscript.Echo "Name: " & objPrinter.Name
		Wscript.Echo "Default: " & objPrinter.Default
	End If
Next

Script 2

    ' Liste les proprietés d Imprimantes installées
    ' et les mets dans un fichier Liste_Drivers_Imprimantes.txt
    ' Windows Server 2003 : Yes
    ' Windows XP : Yes
    ' Windows 2000 : No
    ' Windows NT 4.0 : No
    ' Windows 98 : No
    'Enjoy!! bernes3@gmail.com
   
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
     
    Dim fso, tf
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set tf = fso.CreateTextFile(".\Liste_Drivers_Imprimantes.txt", True)
 
    For Each objPrinter in colInstalledPrinters
        tf.WriteLine("----------------------------")
        tf.WriteLine("Name: " & objPrinter.Name)
        tf.WriteLine("Location: " & objPrinter.Location)
     	tf.WriteLine("Description: " & objPrinter.Description)
        tf.WriteLine("DriverName: " & objPrinter.DriverName)
        tf.WriteLine("PortName: " & objPrinter.PortName)
        tf.WriteLine("ShareName: " & objPrinter.ShareName)
    Next

    '---------------Retourne le nom de machine
    Public Function Computer_Name()
      Set WshNetwork = WScript.CreateObject("WScript.Network")
      Computer_Name = WshNetwork.ComputerName
    End Function

        tf.WriteLine("Nom de la machine: " & Computer_Name)
    tf.Close