|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Экранизация кавычек в передаваемом аргументе в скрипт |
|
VBS/WSH/JS - [решено] Экранизация кавычек в передаваемом аргументе в скрипт
|
Новый участник Сообщения: 44 |
Здравствуйте! Вот такой вот скрипт, призван вызывать из контекстного меню оснастки AD "пользователи и компьютеры" программу для удаленного подключение к компьютеру пользователя, но в передаваемом аргументе есть кавычки, которые в AD экранируются с помощью символа \". А в vbs, это вызывает проблемы (
Подскажите как в этой ситуации выкрутится. On Error Resume Next Set WshShell = CreateObject("WScript.Shell") set fs=createobject("Scripting.FileSystemObject") Dim CompName Dim RunCMD Dim FilePath Set objUser = GetObject(Wscript.arguments.Item(0)) CompName = objUser.Get ("wWWHomePage") If CompName = "" Then WScript.Echo "CompName= " & Wscript.arguments.Item(0) If CompName = "" Then WScript.quit If MsgBox ("Подключиться к компьютеру " & CompName & "?",vbOKCancel+vbQuestion,"Серьезно?") = vbCancel Then WScript.quit If fs.FileExists ("\\dc\NETLOGON\ultravnc\vncviewer.exe") Then FilePath = """\\dc\NETLOGON\ultravnc\vncviewer.exe""" RunCMD = FilePath & CompName RetCode = WshShell.Run (RunCMD,5) |
|
Отправлено: 08:07, 11-12-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yanus74:
|
|
Отправлено: 08:51, 11-12-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
в результате, получается уже не два переданных аргумента, а 3: LDAP://DC.office.zmzgroup.ru/CN=Иванов Иван Иванович,OU=ООО \Наша Контора\,OU=Пользователи,DC=office,DC=zmzgroup,DC=ru user При этом пропадает символ ". Если между \" и \" еще больше пробелов, то количество аргументов становится еще больше. получается, нужно сделать переменную, в которую циклом будут записываться все аргументы пока не встретится аргумент user. и потом, еще нужно вставить символ " после \, и передать все это в GetObject. Но как это все реализовать, я не знаю( |
|
Отправлено: 09:12, 11-12-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать yanus74, покажите, как именно у Вас вызов скрипта организован, как привязка:
Цитата yanus74:
|
|
Отправлено: 11:38, 11-12-2015 | #4 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать вот эта конструкция решает проблему с пробелами:
Set objArgs = WScript.Arguments Dim LDAPPath For i = 0 to objArgs.Count - 1 if objArgs(i) <> "user" Then LDAPPath=LDAPPath & " " & objArgs(i) Next Цитата Iska:
|
||
Отправлено: 11:39, 11-12-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать С моей колокольни, самым правильным будет заменить в свойствах объекта AD прямые кавычки на типографские («ёлочки») или апострофы:
Ибо жёппа из-за кавычек будет не только в этом месте. Цитата yanus74:
![]() |
|
Отправлено: 12:07, 11-12-2015 | #6 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
А по скрипту, я так понял, нужно сделать функцию, которая посчитает количество \ ( гугление показало, что такой функции в VBS нету ), потом сделать цикл, который разложит строку, и после каждого встреченного символа \ добавит Chr(34). И потом уже вызвать функцию GetObject в которую передать переменную. Из простого скрипта целая программа выходит) |
|
Отправлено: 12:20, 11-12-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yanus74:
Цитата yanus74:
|
||
Отправлено: 13:42, 11-12-2015 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Экранирование кавычек | pogo | Скриптовые языки администрирования Windows | 12 | 13-10-2015 13:14 | |
Грядёт экранизация биографии Стива Джобса | OSZone News | Новости информационных технологий | 0 | 09-10-2011 08:30 | |
Разное - [решено] Обработка кавычек в семерке | pve | Microsoft Windows 7 | 6 | 28-01-2010 08:03 | |
Добавление двойных кавычек в путь к файлу | Karat19 | AutoIt | 6 | 04-11-2009 11:45 | |
Разное - [решено] передача кавычек в XmlHttpRequest | harrique | Программирование и базы данных | 3 | 26-01-2009 08:29 |
|