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 :

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
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
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
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 :

Nom : user.png
Affichages : 125
Taille : 5,0 Ko

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