Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Чтение свойств объекта с динамическим именем

Ответить
Настройки темы
VBS/WSH/JS - [решено] Чтение свойств объекта с динамическим именем

Пользователь


Сообщения: 96
Благодарности: 12

Профиль | Отправить PM | Цитировать


Есть скрипт:

Код: Выделить весь код
Parameter0 = WScript.Arguments.Item(0)

Set strADsPath = GetObject("SOME LDAP QUERY")

for each strADsPathObject in strADsPath
 WScript.Echo strADsPathObject.[Parameter0]
next
Запускаю:
cscript /nologo parameter.vbs PropertyName

Выдаёт ошибку:
Microsoft VBScript runtime error: Object doesn't support this property or method: 'strADsPathObject.Parameter0'

То есть, как-бы так сказать, Parameter0 не преобразуется в собственное значение.

Как можно обратиться к свойству объекта посредством переменной, указанной в качестве свойства объекта?

Отправлено: 10:48, 26-03-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Spooner:
SOME LDAP QUERY »
Что там конкретно?

Отправлено: 10:58, 26-03-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 96
Благодарности: 12

Профиль | Отправить PM | Цитировать


LDAP://127.0.0.1:389/OU=Servers,DC=vdi,DC=vmware,DC=int

В запросе проблемы нет, с возвращением объектов - тоже.
Проблема в том, каким образом обратиться к свойству через переменную.

Parameter0 в скрипте возвращает "pae-vm". Но интерпретатор воспринимает его как strADsPathObject.Parameter0, а не strADsPathObject.pae-vm

Последний раз редактировалось Spooner, 26-03-2015 в 11:36.


Отправлено: 11:06, 26-03-2015 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Spooner, например, так (корректность/существование атрибутов, заданных аргументами скрипта, в свойствах объектов каталога не проверяется; пример для простых типов данных атрибутов):
Код: Выделить весь код
Option Explicit

Dim objIADsContainer
Dim objIADs

Dim strArgument


If WScript.Arguments.Count > 0 Then
	Set objIADsContainer = GetObject("LDAP://127.0.0.1:389/OU=Servers,DC=vdi,DC=vmware,DC=int")
	
	For Each objIADs In objIADsContainer
		For Each strArgument In WScript.Arguments
			WScript.Echo strArgument, vbTab, objIADs.Get(strArgument)
		Next
	Next
	
	Set objIADsContainer = Nothing
Else
	' Nothing to do
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:05, 26-03-2015 | #4


Пользователь


Сообщения: 96
Благодарности: 12

Профиль | Отправить PM | Цитировать


Вкратце, вместо strADsPathObject.[Parameter0] - использовать метод strADsPathObject.Get(Parameter0). Спасибо! То, что нужно!

Отправлено: 11:42, 27-03-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Чтение свойств объекта с динамическим именем

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Не запускаются файлы с именем setup.exe (именно с именем) Temix Microsoft Windows 8 и 8.1 13 12-12-2014 22:05
Мультимедиа - Нужен проигрыватель с динамическим плейлистом morebeauty Программное обеспечение Windows 14 10-01-2014 09:57
C/C++ - Вопрос по динамическим массивам nikit-xxx Программирование и базы данных 5 13-05-2011 03:46
[решено] Чтение текстового файла с неизвестным именем ZeroCrash AutoIt 4 01-07-2009 19:03
Проблема с динамическим диском MoRoman Microsoft Windows NT/2000/2003 8 05-06-2006 16:03




 
Переход