Решил я тут себе жизнь упростить и сформировать пользователям сигнатурки автоматически путем заполнения формы данными, взятыми из AD и сохранением этой самой формы в документах пользователей. Благо многое что хранится в AD.
Написал скрипт для создания автоподписей (русских и английских). запускаю - английские создаются на ура, а вот с русскими происходит беда. Из AD данные берутся, но при попытке сохранить их в файл или вывести на экран через WScript.Echo выскакивает ошибка несовпадения типов.
Вот небольшой пример. Поле Description заполнено русскими чарами, поле Company должно быть заполнено обязательно, иначе это системный пользователь.
Код: Выделить всё
' VBScript source code
Const ADS_SCOPE_SUBTREE = 2
Dim objConnection
Dim objCommand
Dim objRecordset
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "мой.домен.local"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "Select HomeDirectory, Description, DisplayName, Mail, Title, Department, Company, " & _
" TelephoneNumber, FacsimileTelephoneNumber, WWWHomePage" & _
" from 'LDAP://DC=airmg,DC=local' " & _
" Where objectClass='user' and objectClass='person' and objectClass <> 'computer'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
IF Not IsNull(objRecordSet.Fields("Company").Value) Then
WScript.Echo objRecordSet.Fields("Description").Value
End If
objRecordSet.MoveNext
Loop
Спасибо за помощь.
PS: открытие файла через CreateTextFile(Filename, true, true) проблемы не решает.