Bonjour à tous,
j'ai un saut de ligne indésirable sur un script simple permettant de remonter le user connecté à la session windows en cours :
En PowerShell :
En VBScript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # Récupérer le nom d'utilisateur $username = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name # Supprimer les espaces blancs au début et à la fin de la chaîne $username = $username.Trim() # Supprimer les caractères indésirables (retour à la ligne, espaces, etc.) $username = $username -replace "[\r\n\s]+", "" # Diviser la chaîne pour obtenir le nom d'utilisateur uniquement $usernameParts = $username -split '\\' $onlyUsername = $usernameParts[1] $onlyUsername
l'un comme l'autre me donne un résultat dans ma variable sur 2 lignes alors que mon user ne compte que 8 caractères :
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 ' Créer un objet WindowsIdentity Set objNetwork = CreateObject("WScript.Network") username = objNetwork.UserName ' Supprimer les espaces blancs au début et à la fin de la chaîne username = Trim(username) ' Supprimer les caractères indésirables (retour à la ligne, espaces, etc.) Set regex = New RegExp regex.Global = True regex.Pattern = "[\r\n\s]+" username = regex.Replace(username, "") ' Diviser la chaîne pour obtenir le nom d'utilisateur uniquement usernameParts = Split(username, "\") onlyUsername = usernameParts(1) ' Afficher le résultat WScript.Echo onlyUsername
c'est génant pour concatener dans un chemin d'accès local, le chemin est sur deux lignes, je ne sais plus quoi faire ...
Merci pour votre aide
Partager