Страница: 1 | 
		
		
			
	
		 
		
			
  
    |   | 
    
Вопрос: Нужна помощь, VBS, выбор аккаунтов по ExpirationDa
     | 
    
Добавлено: 18.06.11 11:07
     | 
      | 
  
		
			
			  
    
      
Автор вопроса:   admkey
       | 
    
    
      
Всех приветствую, прошу помощи ибо сам уже голову сломал в чем проблема, есть задача выбирать учетки из OU с истекающим сроком действия в текущий день , нарыл скрипт, но не могу заставить работать операторы <> и < может есть определенный синтаксис написания операторов неравенств, сам с vbs только начинаю разбираться. 
 
On Error Resume Next
 
 
dtmCurrentDate = date()
 
 
Set objNewOU = GetObject("LDAP://OU=test,OU=office,DC=corp,DC=pol,DC=ru")
 
Set objOldOU = GetObject("LDAP://OU=office,DC=corp,DC=pol,DC=ru")
 
 
objOldOU.Filter = Array("User")
 
 
For Each objUser in objOldOU
 
 
dtmAccountExpiration = objUser.AccountExpirationDate
 
If Err.Number <> -2147467259 OR dtmAccountExpiration <> #1/1/1970#  and dtmAccountExpiration < dtmCurrentDate Then 
 
   objUser.AccountDisabled = True 
 
   objUser.msExchHideFromAddressLists = True 
 
   objUser.SetInfo
 
   strUserPath = objUser.ADSPath 
 
   strNewContainer.MoveHere strUserPath, vbNullString 
 
    objNewOU.MoveHere objUser.ADsPath, vbNullString
 
Next
 
 
 
 
Заранее благодарю.
Ответить
        | 
    
  
		
			
		
		
			
		
	  
    
      
Номер ответа: 1 Автор ответа:
   Ким Чен Ир
  
 
  Вопросов: 0 Ответов: 140 
       | 
      
 Профиль |  | #1
       | 
Добавлено:  18.06.11 20:00
       | 
    
    
      
Формально вроде правильно. Он что, в блок IF не заходит?
 
Ну, дык, выведи условия блока в отладку.
Ответить
        | 
    
  
	  
    
      
Номер ответа: 2 Автор ответа:
   Ким Чен Ир
  
 
  Вопросов: 0 Ответов: 140 
       | 
      
 Профиль |  | #2
       | 
Добавлено:  18.06.11 20:03
       | 
    
    
      | 
Кроме того, "End If" пропущен.
 Ответить
        | 
    
  
	  
	  
    
      
Номер ответа: 4 Автор ответа:
   Ким Чен Ир
  
 
  Вопросов: 0 Ответов: 140 
       | 
      
 Профиль |  | #4
       | 
Добавлено:  19.06.11 09:06
       | 
    
    
      
Уж не хочешь ли ты сказать, что скрипт пишешь в блокноте, сохраняешь с расширением vbs, запускаешь и пребываешь в ступоре типа "чё-за-фигня"? Подойдет любой vba-редактор. Открой хотя бы word или excel, жми alt+F11. Вставь пустой модуль, в нем и пиши процедуру:
 
-  
 
- Sub MyExpiration()
  
- End Sub
  
 
  
 
Ставь точки останова, проходи пошагово, отслеживай значения в окнах watch, debug.print.
 
Может логика условий требует правильных скобок.
 
Вообщем, ищи ошибку.
Ответить
        | 
    
  
	  
	  
    
      
Номер ответа: 6 Автор ответа:
   Ким Чен Ир
  
 
  Вопросов: 0 Ответов: 140 
       | 
      
 Профиль |  | #6
       | 
Добавлено:  21.06.11 05:56
       | 
    
    
      | 
Правильно кастовать строку к дате, а не наоборот. Впрочем, тебе виднее.
 Ответить
        | 
    
  
Страница: 1 | 
 
		
			Поиск по форуму