Хорошо, я пытаюсь извлечь только имя пользователя из свойств localpath следующей команды:
(Get-WmiObject -ComputerName $ComputerName -Class win32_UserProfile -Filter "localPath like 'c:\\Users\\%'" | sort localpath).localpath.replace('C:\Users\','')
Это заменяет мне c: \ Users \, который мне не нужен. Однако в конце некоторых имен есть .000 или доменное имя. На всю жизнь я не могу не вспомнить, как убрать все предметы после персонажа. Если вы знаете лучший способ сделать это, пожалуйста, дайте мне знать.
Выход:
sfricks
sguess.001
sholcombe
srabanal.000
srainey.OPR.000
ssanders
sspecht.OPR
Я могу использовать опцию split, однако она переносится из одной строки кода в 3 +.
$Return = @()
$usernames = (Get-WmiObject -ComputerName $ComputerName -Class win32_UserProfile -Filter "localPath like 'c:\\Users\\%'" -ErrorAction Stop | sort localpath).localpath.replace('C:\Users\','')
foreach ($user in $usernames) {
$Return += $user.Split('.')[0]
}
$Return
Я пытаюсь найти обходной путь, используя -replace. Я не слишком уверен, как это сделать. Просто нужно, чтобы кто-то указал мне правильное направление.