|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как удалить мусор из переменной? |
|
PowerShell - [решено] Как удалить мусор из переменной?
|
Новый участник Сообщения: 29 |
Привет всем! Подскажите пожалуйста как удалить лишние символы из переменной?
К примеру, у меня в скрипте 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 Как убрать лишнее из переменной? Ну или создать новую, уже без лишних символов? Помогите чайнику, заранее спасибо. |
|
Отправлено: 12:14, 11-07-2016 |
Забанен Сообщения: 793
|
Что значит текстовая переменная? Может все же переменная, содержащая объект типа строка?
PS E:\> $username.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object Этот же прием работает, если переменная является массивом строк, например. |
Отправлено: 12:39, 11-07-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
Мне бы ещё убрать лишнее со строковой переменной. DisplayName ---------------- Петров Пётр Петрович Ещё раз спасибо! |
|
Последний раз редактировалось Luka666, 11-07-2016 в 15:04. Отправлено: 13:23, 11-07-2016 | #3 |
Забанен Сообщения: 793
|
Так как я не в курсе как именуется у Вас переменная на сей раз, а также действительно ли переменная хранит строку, а не какой иной объект, можно поступить так:
$a - переменная, в которой хранится строка, т.е. при попытке узнать тип переменной в хост будет возвращено следующее: С помощью типа Regex находим индекс первого кириллического символа в строке, а далее методом Substring извлекаем нужную нам подстроку. Можно, конечно, сделать проще, но, повторяюсь, не в курсе, что действительно у Вас за переменная. |
Отправлено: 13:52, 11-07-2016 | #4 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Не прокатило.
Произошла ошибка при вызове метода, так как [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 текст должен быть такой-же "чистый" в виде текста, безо всего лишнего. Как это сделать? |
|
Последний раз редактировалось Luka666, 11-07-2016 в 15:10. Отправлено: 15:02, 11-07-2016 | #5 |
Забанен Сообщения: 793
|
Цитата Luka666:
Цитата Luka666:
В общем, читайте указанные ресурсы до просветления. |
||
Отправлено: 16:06, 11-07-2016 | #6 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Всё. Дошло. Благодарю за терпение. Будем пытаться и дальше познавать PS.
![]() ![]() ![]() ![]() |
Отправлено: 19:49, 11-07-2016 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Как удалить баннер из IE | tihon_65 | Лечение систем от вредоносных программ | 1 | 05-03-2015 21:17 | |
VBS/WSH/JS - [решено] Удалить файл с переменной в пути | viliam | Скриптовые языки администрирования Windows | 6 | 19-06-2014 13:34 | |
как удалить мусор ??? | SLIMYS | Автоматическая установка Windows 2000/XP/2003 | 3 | 14-04-2011 05:28 | |
Как извлечь значение из переменной масива, которое не отображалось бы на экране | dima1981 | Вебмастеру | 8 | 11-11-2008 11:54 | |
js имя объекта из переменной, как? | Вебмастеру | 13 | 15-03-2005 07:22 |
|