Я пытаюсь взять массив адресов электронной почты (в виде [email protected]), который формируется из:Неприятности с подстроки, отделка, trimend
$users = get-MSOLUser -All | where {$_.isLicensed -eq "TRUE" -and $_.Licenses.AccountSKUID -eq "my_license"} | select userprincipalname
И получить только имя пользователя от каждый. Я начинаю с [email protected]
и хочу в итоге username
. Я пробовал различные способы, используя подстроку, Trim, TrimEnd и т. Д. И не могу заставить их работать.
$username = $users | %{$_.substring(0,$users.length - 12)}
$users | %{$_.trimend("@company.com")}
$users | %{$_.trimend(12)}
Все вышеперечисленное дает ошибки, включая следующие два.
Ошибка вызова метода, поскольку [Selected.Microsoft.Online.Administration.User]
не содержит метод с именем substring
.
Ошибка метода, поскольку [Selected.Microsoft.Online.Administration.User]
не содержит метод с именем trimend
.
Что я делаю неправильно с синтаксисом, или есть что-то еще, как модуль, который я не импортировал, или как мой синтаксис пытается работать с массивом?
ничего себе, я даже не знал, что вы можете это сделать '-replace '@. *'' – 4c74356b41
Мне нравится этот фрагмент кода. Протестировано и отлично работает. –