IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Scripts et Flags


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut Scripts et Flags
    Bonjour,

    Je suis actuellement bloqué sur le dev d un script VBS, en gros au premier démarrage une machine sous XP doit faire 2 actions:

    1 - renommer le poste Windows avec le numéros de série de la machine = ca c est OK ( un fichier EXE )

    2 - entrer la machine (renommer précédemment) dans un domaine = j'ai déjà trouvé un script vbs qui fait ca et ca fonctionne


    Maintenant je bloque sur les étape a appliquer, après avoir renommer la machine cela nécessite un redémarrage de Windows, puis de reprendre le script pour entrer dans le domaine, puis un second redémarrage pour valider l entrée dans le domaine, et pour finir un 3 eme redémarrage pour supprimer l autologon et laisser la possibilité a l utilisateur de se logger avec son compte.

    Si quelqun pouvait me filer un coup de patte sur ce script je suis preneur : ) je n arrive pas a mettre en place les flags a placer aux differentes etapes.

    Pour résumer les actions:

    1ere démarrage de la machine
    exécution du script : renommer la machine
    redémarrer
    passer al etape suivante du script : entrée dans le domaine
    redémarrage
    suppression de l autologon
    redémarrage


    Ci-dessous le script pour entrée dans le domaine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Const JOIN_DOMAIN = 1
    Const ACCT_CREATE = 2
    Const ACCT_DELETE = 4
    Const WIN9X_UPGRADE = 16
    Const DOMAIN_JOIN_IF_JOINED = 32
    Const JOIN_UNSECURE = 64
    Const MACHINE_PASSWORD_PASSED = 128
    Const DEFERRED_SPN_SET = 256
    Const INSTALL_INVOCATION = 262144
     
    strDomain = "blabla.fr"
    strPassword = "pasword"
    strUser = "administrator"
     
    Set objNetwork = CreateObject("WScript.Network" )
    strComputer = objNetwork.ComputerName
     
    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
    strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
    strComputer & "'" )
     
    ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
    strPassword, strDomain & "\" & strUser, NULL, _
    JOIN_DOMAIN + ACCT_CREATE)
    Merci d'avance

  2. #2
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Si j'étais toi, voila comment je ferais :

    A la fin de chaque action réalisée (renommer la machine, entrée dans le domaine...), le script crée un fichier de FLAG (sur C:\ par exemple)
    Au début de ton script, la présence des fichiers de FLAG est testée. En fonction de leur présence ou non, il réalise une action.

    Le fait d'utiliser des fichiers comme flags te permet de retrouver l'information après un redémarrage de la machine.

    En gros voici le fonctionnement global du script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Si le fichier(FLAG) C:\MACHINE_RENOMMEE.txt n existe pas
      Renommage de la machine
      Création du fichier(FLAG) C:\MACHINE_RENOMMEE.txt 
      Redémarrage
    Sinon Si le fichier(FLAG) C:\ENTREE_DOMAINE.txt n existe pas
      Entrée du poste dans le domaine
      Création du fichier(FLAG) C:\ENTREE_DOMAINE.txt
      Redémarrage
    Sinon Si le fichier(FLAG) C:\SUPPRESSION_AUTOLOGON.txt n existe pas
      Suppression de l autologon
      Création du fichier(FLAG) C:\SUPPRESSION_AUTOLOGON.txt
      Redémarrage
    Sinon
      Suppression de l exécution de ce script au démarrage
      Suppression des fichiers FLAG
    Fin Si
    à coder en vbscript donc, mais ce n'est pas compliqué.
    ça te conviendra?

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour la réponse et désole pour MON temps de réponse ^^!

    Pour ce qui est du principe a mettre en place c est OK, la ou je bloque c est a la réalisation je n'ai pas trouvé de script sur le net contenant ce système de fichier flag, ne connaissant pas le VBS je suis amené a prendre del existant pour le remanier, je suis incapable de faire ce script en partant de 0

  4. #4
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Février 2007
    Messages : 253
    Par défaut
    Voici un ensemble de fonctions qui peuvent t'être utiles pour la gestion de fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    '--------------------------------------------------------------------------
    ' Lit un fichier depuis le disque.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier à lire.
    '
    ' Retour :
    '---------
    '   Une chaine contenant tout le fichier lu depuis le disque.
    '   Une erreur se produit si le fichier n'existe pas, vérifier avant
    '   de le lire qu'il est bien présent sur le disque.
    '
    ' Voir aussi :
    '-------------
    '   Voir WriteFile,FileExists,FileAttribs,WriteFileAttribs,DeleteFile,MoveFile
    '--------------------------------------------------------------------------
    Function ReadFile(strFilePath)
        Dim fileObject, file
     
        Set fileObject = CreateObject("Scripting.FileSystemObject")
        Set file = fileObject.OpenTextFile(strFilePath,vbForReading)
     
        On Error Resume Next ' Si erreur, continuer
        ReadFile = file.ReadAll()
        If Err.number<>0 Then
            If Err.number = 62 Then
                ' On a tenté de lire un fichier vide : bizarre, l'erreur 62 dans MSDN = ERROR_NO_SPOOL_SPACE : Space to store the file waiting to be printed is not available on the server
                ReadFile = ""
                Call Err.Clear()
            Else
                On Error Goto 0
                ReadFile = file.ReadAll()
            End If
        End If
        On Error Goto 0
     
        Set file       = Nothing
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Copie un fichier.
    '
    '   Permet de faire une copie d'un fichier.
    '
    ' Paramètres :
    '-------------
    '   strSrcFilePath   : Chemin du fichier à lire.
    '   strDestFilePath  : Chemin du fichier à écrire.
    '   bOverwrite       : Ecrase le fichier de destination si vaut True
    '
    ' Retour :
    '---------
    '   0 si tout s'est bien passé, n° d'erreur sinon.
    '
    ' Voir aussi :
    '-------------
    '   Voir WriteFile,ReadFile,FileExists,FileAttribs,WriteFileAttribs,DeleteFile,MoveFile
    '--------------------------------------------------------------------------
    Function CopyFile(strSrcFilePath,strDestFilePath,bOverwrite)
        Dim fileObject, fileSrc
     
        Set fileObject = CreateObject("Scripting.FileSystemObject")
     
        On Error Resume Next ' Si erreur, continuer
        Call fileObject.CopyFile(strSrcFilePath,strDestFilePath,bOverwrite)
        CopyFile = Err.number
        On Error Goto 0
     
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Déplace un fichier.
    '
    '   Permet de faire une copie d'un fichier.
    '
    ' Paramètres :
    '-------------
    '   strSrcFilePath   : Chemin du fichier source.
    '   strDestFilePath  : Chemin du fichier où le déplacer .
    '   bOverwrite       : Ecrase le fichier de destination si vaut True
    '   bForce           : Si vaut True, efface le fichier même si celui-ci est
    '                      en lecture seule (n'est utilisé que si bOverwrite=True.
    '
    ' Retour :
    '---------
    '   0 si tout s'est bien passé, n° d'erreur sinon.
    '
    ' Voir aussi :
    '-------------
    '   Voir WriteFile,ReadFile,FileExists,FileAttribs,WriteFileAttribs,DeleteFile,CopyFile
    '--------------------------------------------------------------------------
    Function MoveFile(strSrcFilePath,strDestFilePath,bOverwrite,bForce)
        Dim fileObject
     
        MoveFile = 0
        If bOverwrite Then
            MoveFile = DeleteFile(strDestFilePath,bForce)
        End If
        If MoveFile = 0 Then
            Set fileObject = CreateObject("Scripting.FileSystemObject")
            On Error Resume Next ' Si erreur, continuer
            Call fileObject.MoveFile(strSrcFilePath,strDestFilePath)
            MoveFile = Err.number ' Si erreur (ficher destination lecture seule, nom de fichier destination incorrect, etc...), Err.number n'est pas égal à 0
            On Error Goto 0
            Set fileObject = Nothing
        End If
    End Function
     
    '--------------------------------------------------------------------------
    ' Ecrit un fichier sur le disque.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier à écrire.
    '   strContent   : Contenu du fichier à écrire dans celui-ci.
    '
    ' Retour :
    '---------
    '   La valeur de retour de la fonction Write de Scripting.FileSystemObject,
    '   0 si pas d'erreur
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,FileExists,FileAttribs,WriteFileAttribs,DeleteFile,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function WriteFile(strFilePath,strContent)
        Dim fileObject, file
     
        WriteFile = 0
        Set fileObject = CreateObject("Scripting.FileSystemObject")
        On Error Resume Next
        Set file = fileObject.OpenTextFile(strFilePath,vbForWriting,True)
        If Err.number<>0 Then
            ' Si erreur (ficher en lecture seule, nom de fichier incorrect, etc...)
            WriteFile = Err.number
            Call Err.Clear()
        Else
            WriteFile = file.Write(strContent)
     
            If Err.number<>0 Then
                WriteFile = Err.number
            Else
                Call file.Close()
                If Err.number<>0 Then
                    WriteFile = Err.number
                End If
            End If
        End If
        On Error Goto 0
        Set file       = Nothing
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Ajoute une chaîne à un fichier.
    '
    ' Paramètres :
    '-------------
    '   strFilePath     : Chemin du fichier à écrire.
    '   strTextToAppend : Texte à ajouter au fichier.
    '
    ' Retour :
    '---------
    '   La valeur de retour de la fonction Write de Scripting.FileSystemObject,
    '   0 si pas d'erreur
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,WriteFileAttribs,DeleteFile,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function AppendFile(strFilePath,strTextToAppend)
        Dim fileObject, file
     
        AppendFile = 0
        Set fileObject = CreateObject("Scripting.FileSystemObject")
        On Error Resume Next
        Set file = fileObject.OpenTextFile(strFilePath,vbForAppend,True)
        If Err.number<>0 Then
            ' Si erreur (ficher en lecture seule, nom de fichier incorrect, etc...)
            AppendFile = Err.number
            Call Err.Clear()
        Else
            AppendFile = file.Write(strTextToAppend)
     
            If Err.number<>0 Then
                AppendFile = Err.number
            Else
                Call file.Close()
                If Err.number<>0 Then
                    AppendFile = Err.number
                End If
            End If
        End If
        On Error Goto 0
        Set file       = Nothing
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Vérifie l'existence d'un fichier sur le disque.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier à dont il faut tester la présence.
    '
    ' Retour :
    '---------
    '   True si le fichier existe, False sinon.
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,WriteFile,FileAttribs,WriteFileAttribs,DeleteFile,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function FileExists(strFilePath)
        Dim fileObject
     
        Set fileObject = CreateObject("Scripting.FileSystemObject")
     
        On Error Resume Next ' Si erreur, continuer
        FileExists     = fileObject.FileExists(strFilePath)
        If Err.number <> 0 Then
            FileExists = False
            Call Err.Clear()
        End If
        On Error Goto 0
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Vérify if the folder exists.
    '
    ' Parameters :
    '-------------
    '   strFolderPath   : Path of the folder.
    '
    ' Retour :
    '---------
    '   true if the folder exists, false else.
    '
    ' See also :
    '-------------
    '   Voir ReadFile,WriteFile,FileAttribs,WriteFileAttribs,DeleteFile,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function FolderExists(strFolderPath)
        Dim fileObject
     
        Set fileObject = CreateObject("Scripting.FileSystemObject")
     
        On Error Resume Next ' Si erreur, continuer
        FolderExists     = fileObject.FolderExists(strFolderPath)
        If Err.number <> 0 Then
            FolderExists = False
            Call Err.Clear()
        End If
        On Error Goto 0
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Create a folder and SubFolder if needed.
    '
    ' Parameters :
    '-------------
    '   strFolderPath   : Path of the folder to create.
    '
    ' Retour :
    '---------
    '   true if the folder exists or correctly created, false else.
    '
    ' See also :
    '-------------
    '   Voir FolderExists,IsFolder
    '--------------------------------------------------------------------------
    Function CreateFullPath(strFolderPath)
        Dim objFileSystemObject
        Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
     
        CreateFullPath = False
        If Not objFileSystemObject.FolderExists(strFolderPath) Then
            If CreateFullPath(objFileSystemObject.GetParentFolderName(strFolderPath)) Then
                CreateFullPath = True
                On Error Resume Next ' Si erreur, continuer
                Call objFileSystemObject.CreateFolder(strFolderPath)
                If Err.number <> 0 Then
                    CreateFullPath = False ' Error while creating
                    Call Err.Clear()
                End If
                On Error Goto 0
            End If
        Else
            CreateFullPath = True
        End If
     
        Set objFileSystemObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Récupère les attributs d'un fichier.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier dont on souhaite récupérer
    '                  les attributs.
    '
    ' Retour :
    '---------
    '   Une valeur numérique contenant les attributs :
    '       vbFileAttribsNormal
    '       vbFileAttribsReadOnly : Fichier en lecture seule
    '       vbFileAttribsHidden   : Fichier caché
    '       vbFileAttribsSystem   : Fichier système
    '       vbVolumeLabel         : 
    '       vbDirectory           : Directory
    '       vbFileAttribsArchive  : Fichier archive
    '   Pour tester si le fichier est en lecture seule :
    '       If (FileAttribs(WSCript.Arguments(2)) AND vbFileAttribsReadOnly) <>0 Then
    '           ' code
    '       End If
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,WriteFile,FileExists,DeleteFile,WriteFileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function FileAttribs(strFilePath)
        Dim fileObject , attrib
     
        Set fileObject = CreateObject("Scripting.FileSystemObject")
        Set attrib     = fileObject.GetFile(strFilePath)
        FileAttribs    = attrib.Attributes
        Set attrib     = Nothing
        Set fileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Modifie les attributs d'un fichier.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier dont on souhaite initialiser
    '                  les attributs.
    '   fileAttribs  : Attributs du fichier à modifier.
    '
    ' Retour :
    '---------
    '   Rien.
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,WriteFile,FileExists,DeleteFile,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Sub WriteFileAttribs(strFilePath,fileAttribs)
        Dim fileObject , attrib
     
        Set fileObject      = CreateObject("Scripting.FileSystemObject")
        Set attrib          = fileObject.GetFile(strFilePath)
        attrib.Attributes   = fileAttribs
        Set attrib          = Nothing
        Set fileObject      = Nothing
    End Sub
     
    '--------------------------------------------------------------------------
    ' Efface un fichier.
    '
    ' Paramètres :
    '-------------
    '   strFilePath  : Chemin du fichier à effacer.
    '   bForce       : Si vaut True, efface le fichier même si celui-ci est
    '                  en lecture seule.
    '
    ' Retour :
    '---------
    '   0 si tout s'est bien passé, le N° d'erreur sinon. Si le fichier n'existe pas
    '   retourne 0.
    '
    ' Voir aussi :
    '-------------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function DeleteFile(strFilePath,bForce)
        Dim objFileObject
     
        DeleteFile = 0
        If FileExists(strFilePath) Then
            Set objFileObject = CreateObject("Scripting.FileSystemObject")
            On Error Resume Next ' Si erreur, continuer
            Call objFileObject.DeleteFile(strFilePath,bForce)
            DeleteFile = Err.number ' Si erreur (ficher destination lecture seule, nom de fichier destination incorrect, etc...), Err.number n'est pas égal à 0
            On Error Goto 0
            Set objFileObject = Nothing
        End If
    End Function
     
    '--------------------------------------------------------------------------
    ' Delete a folder.
    '
    ' Parameters :
    '-------------
    '   strFolderPath : Folder path.
    '
    ' Return :
    '---------
    '   0 if no error, else error number. If the file doesn't exists, return 0.
    '
    ' See also :
    '-----------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function DeleteFolder(strFolderPath,bForce)
        Dim objFileObject
     
        DeleteFolder = 0
        If FolderExists(strFolderPath) Then
            Set objFileObject = CreateObject("Scripting.FileSystemObject")
            On Error Resume Next ' Si erreur, continuer
            Call objFileObject.DeleteFolder(strFolderPath,bForce)
            DeleteFolder = Err.number ' Si erreur (ficher destination lecture seule, nom de fichier destination incorrect, etc...), Err.number n'est pas égal à 0
            On Error Goto 0
            Set objFileObject = Nothing
        End If
    End Function
     
    '--------------------------------------------------------------------------
    ' Delete a folder.
    '
    ' Parameters :
    '-------------
    '   strFileOrFolderPath : File or folder path.
    '   bForce              : Delete the file/folder if it is read only.
    '
    ' Return :
    '---------
    '   0 if no error, else error number. If the file/folder doesn't exists, return 0.
    '
    ' See also :
    '-----------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function DeleteFileOrFolder(strFileOrFolderPath,bForce)
        If IsFolder(strFileOrFolderPath) Then
            DeleteFileOrFolder = DeleteFolder(strFileOrFolderPath,bForce)
        Else
            DeleteFileOrFolder = DeleteFile(strFileOrFolderPath,bForce)
        End If
    End Function
     
    '--------------------------------------------------------------------------
    ' Test if the url is a folder.
    '
    ' Parameters :
    '-------------
    '   strFolderPath : Folder path.
    '
    ' Return :
    '---------
    '   true if the url is a folder, false if it's not a folder or if the folder
    '   doesn't exists.
    '
    ' See also :
    '-----------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function IsFolder(strFolderPath)
        Dim objFileObject
     
        Set objFileObject = CreateObject("Scripting.FileSystemObject")
     
        On Error Resume Next ' Si erreur, continuer
        IsFolder = objFileObject.FolderExists(strFolderPath)
        If Err.number <> 0 Then
            IsFolder = False
            Call Err.Clear()
        End If
        On Error Goto 0
        Set objFileObject = Nothing
    End Function
     
    '--------------------------------------------------------------------------
    ' Test if the url is a file.
    '
    ' Parameters :
    '-------------
    '   strFolderPath : File path.
    '
    ' Return :
    '---------
    '   true if the url is a file, false if it's not a file or if the file
    '   doesn't exists.
    '
    ' See also :
    '-----------
    '   Voir ReadFile,WriteFile,FileExists,FileAttribs,CopyFile,MoveFile
    '--------------------------------------------------------------------------
    Function IsFile(strFilePath)
        IsFile = FileExists(strFilePath)
    End Function
     
    '--------------------------------------------------------------------------
    ' Récupérer le chamin sans le nom de fichier.
    '
    ' Tient compte de \ ou /, les deux sont détectés.
    '
    ' Paramètres :
    '-------------
    '   strPathName : Chemin + Nom de fichier
    '
    ' Retour :
    '---------
    '   Le chemin du répertoire du chemin passé en paramètre.
    '
    '--------------------------------------------------------------------------
    Function GetPath(strPathName)
        Dim strCopyPathName
        strCopyPathName = Replace(strPathName,"/","\",1,-1,vbTextCompare)
        GetPath = Left(strPathName,InStrRev(strCopyPathName,"\",-1,vbTextCompare))
    End Function
     
    '--------------------------------------------------------------------------
    ' Récupérer le chamin d'où est lancé le script
    '
    ' Paramètres :
    '-------------
    '   aucun
    '
    ' Retour :
    '---------
    '   Le chemin du répertoire d'où est lancé le script.
    '
    '--------------------------------------------------------------------------
    Function GetCurrentPath()
        GetCurrentPath = GetPath(WScript.ScriptFullName)
    End Function

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Nikel merci : ) je vais regarder ca de prêt

  6. #6
    Membre confirmé

    Inscrit en
    Février 2007
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Février 2007
    Messages : 253
    Par défaut
    Ces quelques fonctions font partis d'une bibliothèque OpenSource développé par mes soins...
    Tu peux avoir tout le code source en téléchargeant l'install (que tu installeras pour aller jeter un oeil dans les sources)...
    Le lien : http://www.developpez.net/forums/d70...al-sourcesafe/
    Il y a plein de choses : WMI / Inclusion de fichiers externes / Gestion PDF / Gestion de fichiers / Gestion d'expression régulière / Traduction multi langue / etc...

  7. #7
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Citation Envoyé par pitchalov Voir le message
    ...

    En gros voici le fonctionnement global du script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Si le fichier(FLAG) C:\MACHINE_RENOMMEE.txt n existe pas
      Renommage de la machine
      Création du fichier(FLAG) C:\MACHINE_RENOMMEE.txt 
      Redémarrage
    Sinon Si le fichier(FLAG) C:\ENTREE_DOMAINE.txt n existe pas
      Entrée du poste dans le domaine
      Création du fichier(FLAG) C:\ENTREE_DOMAINE.txt
      Redémarrage
    Sinon Si le fichier(FLAG) C:\SUPPRESSION_AUTOLOGON.txt n existe pas
      Suppression de l autologon
      Création du fichier(FLAG) C:\SUPPRESSION_AUTOLOGON.txt
      Redémarrage
    Sinon
      Suppression de l exécution de ce script au démarrage
      Suppression des fichiers FLAG
    Fin Si
    ...
    Alors voilà un peu de vbs pour t'aider à commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Set objFso = CreateObject("Scripting.FileSystemObject")
    If NOT objFso.FileExists("C:\MACHINE_RENOMMEE.txt") Then 
      ' A coder : action de Renommage de la machine
      objFso.CreateTextFile("C:\MACHINE_RENOMMEE.txt")
       ' A coder : action de Redémarrage du poste
    ElseIf NOT objFso.FileExists("C:\ENTREE_DOMAINE.txt") Then
       ' A coder : action d'intégration du poste dans le domaine
      objFso.CreateTextFile("C:\ENTREE_DOMAINE.txt")
       ' A coder : action de Redémarrage du poste
    ElseIf NOT objFso.FileExists("C:\SUPPRESSION_AUTOLOGON.txt") Then
      ' A coder : action de Suppression de l'autologon
      objFso.CreateTextFile("C:\SUPPRESSION_AUTOLOGON.txt")
       ' A coder : action de Redémarrage du poste
    Else
      objFso.DeleteFile "Chemin_de_ton_script_de_démarrage\nom_de_ton_script.vbs"
      objFso.DeleteFile "C:\MACHINE_RENOMMEE.txt"
      objFso.DeleteFile "C:\ENTREE_DOMAINE.txt"
      objFso.DeleteFile "C:\SUPPRESSION_AUTOLOGON.txt"
    End If
    Après l'utilisation des fonctions de Feneck91 te simplifieront le code : tu n'auras plus l'objet FSO à créer, il te suffit de copier les fonctions dans ton script et de remplacer "objFso.FileExists" par "FileExists", "objFso.DeleteFile" par "DeleteFile" et "objFso.CreateTextFile" par "WriteFile" (en modifiant un peu pour que ça marche).

    Tu peux aussi créer une fonction pour le reboot, qui t'évitera d'avoir 3 fois le même code dans ton script.

    Essaie déjà d'attaquer par là, de comprendre le code, et de le continuer. C'est assez facile. Bon courage

Discussions similaires

  1. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  2. Réponses: 3
    Dernier message: 17/06/2007, 12h52
  3. Flags ??
    Par foussa dans le forum Assembleur
    Réponses: 21
    Dernier message: 19/10/2002, 18h36
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo