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 :

Enregistrer sortie commande


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut Enregistrer sortie commande
    Bonjour,


    Je réalise un script qui déploira un logiciel sur tous les PC windows.
    Ce script est basé sur le logiciel psexec et est fonctionel.

    J'aimerai maintenant créer un fichier de log (j'ai déjà créé la fonction).
    Seulement il faut que je réalise l'enregistrement de la sortie de psexec.

    Voici une partie de ce que j'ai fais, à l'origine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set prog = createobject("wscript.shell")
    temp = "cmd /c " & psexec & " \\" & server & usr & pwd & " -cv " & logiciel & param
    prog.run temp
    Avec :
    - psexec : le logiciel psexec avec son emplacement
    - server : le serveur ou sera déployé le logiciel
    - usr : utilisateur distant
    - pwd : mot de passe de l'utilisateur distant
    - logiciel : logiciel à déployer
    - param : paramètre du logiciel

    Cette commande fonctionne très bien, seulement, run ne permet pas de récupérer la sortie de la commande (sauf en passant par un fichier temporaire...)

    J'ai donc utiliser le fonction exec à la place de run... le soucis c'est qu'elle fonctionne une fois sur 100... sachant qu'elle n'est apparement pas compatible avec l'utilisation de commande pour les exécuter à distance...

    Avez vous une idée pour résoudre le problème? Ca fait deux jours que je pense dessus... sans succès


    En vous remerciant,
    Manu

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut

    Je ne sais pas si vous avez tenter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     set prog = createobject("wscript.shell")
    temp = "cmd /c " & psexec & " \\" & server & usr & pwd & " -cv " & logiciel & param & " > c:\logfile.txt"
    prog.run temp,0,True '0 Pour cacher la fenêtre DOS

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Merci pour votre réponde.

    J'ai effectivement pensé à cette solution que je n'ai pas testé car je voulais éviter de passer par un fichier temporaire. Car dans ce cas, je devrais lire le fichier pour récupérer les éléments qui m'intéressent pour traiter la sortie puis supprimer ce fichier temporaire.

    Je me rabattrais bien évidement vers ce code si nous ne trouvons pas d'autres solutions.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Bon ceci dit je viens de la tester, à ma grande surprise, je n'enregistre quasi rien de la sortie...

  5. #5
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut
    Citation Envoyé par manu840 Voir le message
    je devrais lire le fichier pour récupérer les éléments qui m'intéressent pour traiter la sortie puis supprimer ce fichier temporaire.
    Quels sont ces éléments
    Je crois que vous avez la possibilité de lire ce fichier non et vous pouvez extraire alors ces éléments non ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Lire un fichier n'est pas un soucis, j'ai déjà mes fonctions toutes prêtes, ni en extraire le contenu. Je voulais éviter de surcharger le script avec une mutlitude de fonction quand on sait que exec le fait mais pas compatible sur pc distant.

    Pour l'envoit dans un fichier pour cette commande par exemple :
    set prog = createobject("wscript.shell")
    temp = "cmd /c " & chemin & psexec.Exe & " \\" & srvDest & usr & pwd & " cmd /c del /f /q logiciel.exe" '& " >> " & chemin & "\logfile.txt"
    prog.run temp
    Je n'ai aucun enregistrement de fait dans le fichier.
    et pour la première cité ci-dessus je n'ai qu'une petite partie.

    Etrange...

  7. #7
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut

    Ce n'est pas très clair
    Bon je vous suggère de poster votre script en entier après avoir bien sûr éliminer vos données personnelles ou bien les remplacer par des étoiles "*******"

  8. #8
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
     
    Dim WsShell, ClipBoardd
     
    ClipBoardd = CreateObject("htmlfile").ParentWindow.clipboardData.ClearData("text")
    Set ClipBoardd = Nothing
     
    Set WsShell = CreateObject("wscript.shell")
    WsShell.run "cmd /C CD C: & Dir|clip", 2, True
    Set WsShell = Nothing
    ClipBoardd = CreateObject("htmlfile").ParentWindow.clipboardData.GetData("text")
    If IsNull(ClipBoardd) = True Then ClipBoardd = "Le presse papier est vide de texte"
    MsgBox ClipBoardd
    Set ClipBoardd = Nothing
    L'important est la redirection de la sortie sur l'objet presse papier |clipReste à savoir si cela est possible avec la commande " & chemin & psexec.Exe & " \\" & srvDest & usr & pwd & " cmd /c del /f /q logiciel.exe"
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Bonjour,


    Je vais vous poster la partie du code utile, ça sera plus simple et comme ça vous pouvez également me dire ce que vous pensez de sa construction.
    Le script va servir au déploiement de NSClient++ sur plusieurs ordinateur Windows.

    Pour cela, il utilise le logiciel PsExec et pourra être lancé en ligne de commande avec des commutateurs. Les commutateurs sont les mêmes que ceux du logiciel, par simplicité.

    Comme je l'ai dit, je n'ai isolé que les parties du code intéressant, mais cependant, ce script ci-dessous fonctionne très bien. Maintenant je voudrais juste écrire un fichier log pour indiquer l'état d'installation sur le PC, si ça a été installé correctement où non.
    Pour cela, NSClient++ me renvoit systématiquement un message (que ça soit pour l'install du service, la désisntallation, le démarrage du service etc.


    Voici le code :
    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
    Option Explicit
     
     
    '***** DEFINITIONS CONSTANTES *****
    Const nomProgDest = "NSClient++.exe" 'variable du nom du programme à utiliser sur la machine distante
    Const nomProgCo = "PsExec.exe" 'variable du nom du programme à utiliser pour établir la connxion sur la machine distante
     
     
    '***** VARIABLES *****
            ''''' Variables globales '''''
    Dim path 'Variable pour récupérer le chemin d'accès du script
    Dim param 'Variable pour la sélection de l'option d'utilisation du programme
    Dim nomSrv, usr, pwd 'Variables pour l'accès à l'ordinateur
            ''''' Variables locales '''''
    Dim i, bool, temp
     
     
    '***** RECUPERATION CHEMIN SCRIPT *****
    path = left(WScript.ScriptFullName, InStr(WScript.ScriptFullName, WScript.ScriptName)-1) 'Récupère l'emplacement du script
     
     
    '***** PARAMETRES *****
    'Commutateurs d'entrées lors de l'utilisation en ligne de commande
    Sub parametres()
            Dim args 'Prise en charge des commutateurs d'entrées en ligne de commande
    	i = 0
    	Set args = Wscript.Arguments 'Récupère les commutateurs	
     
            '''''' SI PAS DE COMMUTATEURS '''''
            If args.count = 0 Then
                    ''''' Paramètres '''''
                    bool = false
                    param = inputBox("Paramètre à utiliser : ", "Paramètres")
                    param = Lcase(param) 'Mettre en minuscule
                    Do While bool = false ' Tant qu'on a pas la bonne saisie, on réaffiche le message
                            If param = "version" or param = "about" or param = "install" or param = "uninstall" or param = "start" or param = "stop" or param = "encrypt" Then
                                    bool = true 'saisie correcte
                            ElseIf param = "quit" Then
                                    WScript.Quit() 'Permet de quitter le programme
                            Else
                                    param = inputBox("PARAMETRE INCORECTE !" + vbCr + vbCr + "La liste des paramètres disponibles sont les suivants :" + vbCr + "     install : installation du logiciel" + vbCr + "     uninstall : désinstallation du logiciel" + vbCr + "     start : démarrage du service" + vbCr + "     stop : arrêt du service" + vbCr + "     encrypt : ???" + vbCr + "     version : affichage de la version" + vbCr + "     about : informations diverses sur le logiciel" + vbCr + vbCr + "Paramètre à utiliser : ", "Paramètres")
                                    param = Lcase(param)
                            End If
                    Loop
     
                    ''''' Serveurs '''''
                    bool = false
                    nomSrv = inputBox("Nom de l'ordinateur ou adresse IP : ", "Nom Serveur Distant")
                    nomSrv = Lcase(nomSrv) 'Mettre en minuscule
    		nomSrv = replace(nomSrv, "\\", "", 1, 1, vbTextCompare) 'Supprime les \\ si l'utilisateur l'a mis
                    Do While bool = false
                            If nomSrv = "quit" Then
                                    WScript.Quit()
                            ElseIf nomSrv <> "" Then
                                    bool = true
                            Else
                                    nomSrv = inputBox("ADRESSE SERVEUR OBLIGATOIRE !" + vbCr + vbCr + "Merci d'indiquer le nom du serveur distant sur le quel doit être fait l'installation : ", "Nom Serveur Distant")
                                    nomSrv = Lcase(nomSrv)
    				nomSrv = replace(nomSrv, "\\", "", 1, 1, vbTextCompare)
                            End If
                    Loop
     
                    ''''' Utilisateurs '''''
                    bool = false
                    usr = inputBox("Nom de l'utilisateur de l'ordinateur distant : ", "Utilisateur")
                    temp = LCase(usr)
                    Do While bool = false
                            If temp = "quit" Then
                                    WScript.Quit()
                            ElseIf usr <> "" Then
                                    bool = true
                            Else
                                    usr = inputBox("UTILISATEUR OBLIGATOIRE !" + vbCr + vbCr + "Le nom de l'utilisateur de l'ordinateur distant doit être saisie : ", "Utilisateur")
                            End If
                    Loop
     
                    ''''' Mots de passe '''''
                    pwd = inputBox("Mot de passe de l'utilisateur : ", "Mot de passe")
                    temp = LCase(pwd)
                    If temp = "quit" Then
                            WScript.Quit()
                    End If
     
    	''''' SI COMMUTATEURS '''''
            else
                    ''''' Paramètres '''''
    		If args.count >= i+1 Then
                            param = args(i) 'On prend l'argument numéro i
                            param = Lcase(param)
                            ''''' On vérifie que le commutateur existe '''''
                            If param = "version" or param = "about" or param = "install" or param = "uninstall" or param = "start" or param = "stop" or param = "encrypt" Then
                                    i = i+1
                            Else
                                    param = MsgBox("PARAMETRE INCORECTE !" + vbCr + vbCr + "La liste des paramètres disponibles sont les suivants :" + vbCr + "     install : installation du logiciel" + vbCr + "     uninstall : désinstallation du logiciel" + vbCr + "     start : démarrage du service" + vbCr + "     stop : arrêt du service" + vbCr + "     encrypt : ???" + vbCr + "     version : affichage de la version" + vbCr + "     about : informations diverses sur le logiciel")
                                    WScript.Quit()
                            End If	
    		End If
     
                    ''''' Serveurs '''''
    		If args.count >= i+1 Then
    			nomSrv = args(i)
    			nomSrv = Lcase(nomSrv)
    			nomSrv = replace(nomSrv, "\\", "", 1, 1, vbTextCompare)
                            If nomSrv <> "" Then
                                    i = i+1
                            Else
                                    nomSrv = MsgBox("ADRESSE SERVEUR OBLIGATOIRE !" + vbCr + vbCr + "Merci d'indiquer le nom du serveur distant ou son adresse IP sur le quel doit être fait l'installation.")
                                    WScript.Quit()
                            End If
    		End If
     
                    ''''' Utilisateurs '''''
    		If args.count >= i+1 Then 'Si on a un commutateur suplémentaire
    			If inStr(args(i), "-u") = 1 Then 'Si c'est -u
    				i = i+1
    			Else 'Si non, c'est obligatoire
    				MsgBox("NOM D'UTILISATEUR OBLIGATOIRE !" + vbCr + vbCr + "Merci d'indiquer un nom d'utilisateur ayant les droits adminitrateurs sur l'ordinateur distant.")
    				WScript.Quit()
    			End If
                    End If
    		If args.count >= i+1 Then 'Si on a un commutateur après le -u
    			usr = args(i) 'On prend l'argument
    				If usr <> "-p" Then 'Si c'est différent de -p
    					i = i+1
    				Else 'Si c'est égale à -p on veux l'utilisateur
    					MsgBox("NOM D'UTILISATEUR OBLIGATOIRE !" + vbCr + vbCr + "Merci d'indiquer un nom d'utilisateur ayant les droits adminitrateurs sur l'ordinateur distant.")
    					WScript.Quit()
    				End If
    		Else 'Si pas de commutateur après le -u
    			MsgBox("NOM D'UTILISATEUR OBLIGATOIRE !" + vbCr + vbCr + "Merci d'indiquer un nom d'utilisateur ayant les droits adminitrateurs sur l'ordinateur distant.")
    			WScript.Quit()			
    		End If
     
                    ''''' Mots de passe '''''
    		If args.count >= i+1 Then 'Si on a un commutateur suplémentaire
    			If inStr(args(i), "-p") = 1 Then 'Et si il est égale à -p
    				i = i+1
    				If args.count >= i+1 Then 'On attend le mot de passe
                                            pwd = args(i)
                                    Else
                                            MsgBox("Le paramètre -p doit être suivit d'un mot de passe.")
                                            WScript.Quit()
                                    End If
                            ElseIf args(i) <> "" Then
                                    MsgBox("Le paramètre -p est attendu !")
                                    WScript.Quit()
    			End If
    		End If
    	End If
    End Sub
     
     
    '***** GESTION COMMUTATEURS *****
    'Gestion du commutateur et 
    'lancement des lignes de commandes
    Sub gesCommut(chemin, srvDest, u, p, progDest, m)
            Dim prog, temp
            ''''' Analyse des variables user et pwd pour adapter aux commutateurs de l'agent NSCLient++ '''''
    	If NOT u = empty then
    		u = " -u " & usr
    	else 
    		u = ""
    	End If
     
            If NOT u = empty then
    		p = " -p " & pwd
    	else
    		p = ""
    	End If
     
            ''''' Analyse des paramètres et lancement des applications '''''
            If param = "quit" Then
           	        MsgBox "Bye"
                    WScript.Quit()
            else
    		set prog = createobject("wscript.shell")
    		temp = "cmd /k " & chemin & nomProgCo & " \\" & srvDest & u & p & " -cv " & chemin & progDest & " -" & m '
    		prog.run temp
    		WScript.Sleep 5000 'Attente de 5 secondes pour l'exécution de la commande
     
     		If param = "install" Then
                            m = " -start"
                   		temp = "cmd /k " & chemin & nomProgCo & " \\" & srvDest & u & p & " -cv " & chemin & nomProgDest & m '
    			prog.run temp
    	       	End If
     
            	If param = "uninstall" Then
                    	temp = "cmd /k " & chemin & nomProgCo & " \\" & srvDest & u & p & " cmd /c del /f /q nsclient++.exe" '
    			prog.run temp
    		End If
            End If
    End Sub
     
     
     
    '***** APPEL DES FONCTIONS *****
    call parametres()
    call gesCommut (path, nomSrv, usr, pwd, nomProgDest, param)

    Je suis présent pour répondre à toutes vos questions,
    En vous remerciant de vos réponses,
    Manu

  10. #10
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut !

    J'ai pris cette discution en cours et j'avoue l'avoir parcourue en travers.
    Cela dit, j'ai déjà été confronté à ce type de problème.
    J'ai largement limité la problématique en découpant mon script en 2.
    Le script principal exécute un script secondaire à distance via psexec.
    Le script secondaire lance l'installation en local et crée le log.
    Je ne sais pas si ça t'aidera, mais moi ça m'a bien simplifié les choses ...

    vbs_principal.vbs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [...]
    WSHShell.Run ("psexec \\" & strComputer & " -d -u dom\admin -p mdp -e c:\windows\system32\wscript vbs_secondaire.vbs")
    [...]
    vbs_secondaire.vbs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [...]
    UnInstallString = " \\" & server & usr & pwd & " -cv " & logiciel & param & " > c:\logfile.txt"
    WSHShell.Run UnInstallString, 1, True
    [...]

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Je comprend ce que vous avez fait, mais ça implique le déploiement préliminaire de script sur le PC distant.
    Ensuite le script sur le PC distant doit récupérer l'install du logiciel puis faire le log. Enfin le log doit etre exporté puis lu... ça me paraît un peu lourd à mettre en place.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut !

    Heu non, rien à déployer sur le pc distant ...
    Tous les fichiers vbs, exe et log se trouvent sur un partage réseau.

    vbs_principal = "\\serveur\path\scripts\vbs_principal.vbs"
    vbs_secondaire = "\\serveur\path\scripts\vbs_secondaire.vbs"
    sources = "\\serveur\path\sources\install.exe"
    Log = "\\serveur\path\logs\logfile.txt"

    script_principal.vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [...]
    WSHShell.Run ("psexec \\" & strComputer & " -d -u dom\admin -p mdp -e c:\windows\system32\wscript " & vbs_secondaire)
    [...]
    Si je vais sur C:\windows\system32, c'est juste pour aller chercher l'interpréteur wscript local.

    script_secondaire.vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [...]
    InstallString = sources & " > " & Log
    WSHShell.Run InstallString, 1, True
    [...]
    En revanche, mon fichier d'installation est différent, le mien fonctionne avec un fichier de retour et crée son prore fichier log.
    J'avoue que je n'ai pas eu à tester la redirection ( > Logfile.txt)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    C'est une bonne idée, mais du coup on peut peut-être utiliser la commande exec à la place de run ce qui simplifirai grandement la gestion d'erreurs.

Discussions similaires

  1. Enregistrer une commande at
    Par lolo_92 dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2009, 09h41
  2. enregistrer retour commande unix dans variable
    Par tisba972 dans le forum Langage
    Réponses: 2
    Dernier message: 30/07/2008, 08h40
  3. Sortie commande Diff
    Par CoderCool dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/10/2006, 11h33
  4. format de sortie commande \pset
    Par Alesk dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/01/2006, 14h48

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