Vérification d'une connexion... [Résolu]

Signaler
Messages postés
13
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
9 janvier 2011
-
bahrounitarek
Messages postés
3
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
26 mars 2012
-
Bonjour à tous,
Y'aurais t'il une commande pour faire une vérification d'une connexion RDP.

Genre : Si connexion est RDP alors.......

Nous utilisons 2 scripts, ceux en vb et ceux en kix.

Donc pour kix j'ai bien trouvé :

if left(%SESSIONNAME%,3) <> "RDP"

Mais pour le vb impossible de trouver...

Car enfaites j'ai des scripts qui ce lance quand mes users ce connecte en RDP au serveur... Les scripts qu'ils sont attribués à leurs postes...
Je voudrais éviter que les scripts ce lance alors qu'ils sont sur le serveur...

Ce qui n'est pas très propre... Donc si je pouvais rajouter cette condition au début de mes scripts sa serait pas mal.

Merci de votre aides

6 réponses

Messages postés
13
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
9 janvier 2011

Pour ceux qui voudrais la solution !

C'est la même chose que pour le kix

'*******************************************************
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")
strSessionName = WshProcEnv("SESSIONNAME")

If Left(strSessionName, 3) = "RDP" then
     WScript.Echo "Session RDP = " & strSessionName
Else
     WScript.Echo "Session pas RDP"	        
End If
'*******************************************************
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
64
Salut
Tu fais du VB6 ou du VBScript ? c'est important

Si tu veux savoir sur quelle machine tu es, tu peux peut-être t'en sortir avec l'API nommée GetComputerName :

Partie déclaration de ta page
Private Const MAX_COMPUTERNAME_LENGTH As Long = 31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" ( _
    ByVal lpBuffer As String, nSize As Long) As Long

La fonction
Private Function GetMyMachineName() As String
    Dim r As Long
    Dim sTemp As String
    ' Buffer
    r = MAX_COMPUTERNAME_LENGTH
    sTemp = String(r + 1, " ")
    ' Nom de la machine
    Call GetComputerName (sTemp, r)
    ' Supprime les espaces en trop et renvoie le résultat
    GetMyMachineName = Left$(sTemp, r)
End Function

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
13
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
9 janvier 2011

Autant pour moi j'avais pas vu la dernière section pour le VBS...

Je ne sais pas comment changer la section...

Sinon oui sa serait du VBScript, désolé.

Impossible de trouver cette commande pour vérifier si c'est du rdp...

If "connexion RDP" then
........
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
64
Ok, Script. Modifié

As-tu essayé ma solution ?
Il me semble que, en vbscript, les délcarations ne se font pas exactement de la même manière, mais le fond est correct.
Il te suffira alors de demander au script de comparer le nom de la machine renvoyé par la fonction à celle du serveur (écrit en dur dans le script) pour savoir si le script est exécuté localement ou pas.
Genre :
If GetMyMachineName = "MON_SERVEUR" Then

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
13
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
9 janvier 2011

Merci je n'avais pas pensé à cette solution.

Enfaites j'ai comparer avec les plages IP vu que les serveurs ont des ip spécifique et fixe.

Merci à toi
Messages postés
3
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
26 mars 2012