![]() |
Как удалить мусор из переменной?
Привет всем! Подскажите пожалуйста как удалить лишние символы из переменной?
К примеру, у меня в скрипте Powershell, создаётся текстовая переменная: $username c текстом: REGIONS\i2803-04-113 REGIONS\i2803-04-126 REGIONS\i2803-04-156 Ну а мне совершенно не нужно слово REGIONS\ а нужно просто: i2803-04-113 i2803-04-126 i2803-04-156 Как убрать лишнее из переменной? Ну или создать новую, уже без лишних символов? Помогите чайнику, заранее спасибо. |
Что значит текстовая переменная? Может все же переменная, содержащая объект типа строка?
Код:
PS E:\> $username.GetType() Код:
PS E:\> $username -replace 'regions\\', '' |
Цитата:
Мне бы ещё убрать лишнее со строковой переменной. DisplayName ---------------- Петров Пётр Петрович Ещё раз спасибо! |
Так как я не в курсе как именуется у Вас переменная на сей раз, а также действительно ли переменная хранит строку, а не какой иной объект, можно поступить так:
Код:
$a.Substring(($$=[Regex]::Match($a, '\p{IsCyrillic}').Index), $a.Length - $$) Код:
PS E:\> $a.GetType().Name |
Не прокатило.
Произошла ошибка при вызове метода, так как [Selected.Microsoft.ActiveDirectory.Management.ADUser] не с одержит метод с именем "Substring". строка:1 знак:21 + $username2.Substring <<<< (($$=[Regex]::Match($username, '\p{IsCyrillic}').Index), $username2.length - $$) + CategoryInfo : InvalidOperation: (Substring:String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound У меня переменная получается путём извлечения из AD нужного объекта: $computer = "i2803-w04095" $username = (get-wmiobject -ComputerName $computer win32_computerSystem).Username $username = $username -REPLACE 'REGIONS\\', '' $username2 = get-aduser $username -Properties displayname|select-object DisplayName т.е извлечения полного выводимого имени из юзерской учётки в AD. Для того, чтоб вставить его в описание учётной записи компьютора на котором этот юзер залогинен в данный момент. Set-ADComputer $computer -Description "$username2" Но так, как переменная $username2 содержит запись в виде строки: DisplayName ---------------- Петров Пётр Петрович В описание учётки рабочей станции записывается: @{DisplayName=Петров Пётр Петрович} А мне надо только " Петров Пётр Петрович " (без кавычек). Для этого полагаю что в переменной $username2 текст должен быть такой-же "чистый" в виде текста, безо всего лишнего. Как это сделать? |
Цитата:
Цитата:
Код:
PS E:\> $a = @{UserName='Гнутха Йынлоп'} |
Всё. Дошло. Благодарю за терпение. Будем пытаться и дальше познавать PS. :pray: :up :up :up
|
Время: 01:06. |
Время: 01:06.
© OSzone.net 2001-