|
|
|
Windows Scripting (выпуск 6)
|
|
|
Здравствуйте!
В этом выпуске:
Архив рассылки Вы найдете на сайте
scripting.narod.ru.
|
|
|
|
VBScript умер, да здравствует Visual Basic
В будущей Windows.NET любимого мной (и, надеюсь, Вами) VBScript
(он же Visual Basic Scripting Edition)
больше не будет.
Там, где сейчас используется VBScript, будет использоваться обычный Visual Basic, который станет скриптовым языком.
|
|
|
19.12.2000
Вышел в свет январский номер журнала MSDN Magazine
- первый в новом тысячелетии.
Среди его статей:
Среди анонсированных статей февральского номера:
|
|
|
11.12.2000
В журнале MSDN Online Voices
опубликована очередная статья Andrew Clinick -
Great Effects, Shame About the Script,
посвященная использованию XML и скриптов при создании skin-ов для Windows Media Player 7.0.
Очередная статья из серии Scripting Clinic ожидается 8 января.
|
|
|
|
С помощью парсера XML DOM, предоставляемого Microsoft.
Парсер находится в msxml.dll и входит в состав Microsoft Internet Explorer 5.
Если у Вас нет IE5, или если Вы хотите скачать последнюю версию парсера, то вам
сюда.
Скрипту на вход должны подаваться три параметра: имя исходного XML-файла,
имя исходного XSL-файла и имя HTML-файла, куда будет помещен результат.
Например:
xml2html.vbs library.xml library.xsl library.htm
Листинг
If WScript.Arguments.Count <> 3 Then
MsgBox "Usage: CREATE_HTML xml_file xsl_file html_file", _
vbInformation, "XML to HTML converter"
WScript.Quit
End If
Dim XML
Set XML = CreateObject("Microsoft.XMLDOM")
XML.Load WScript.Arguments(0)
Dim XSL
Set XSL = CreateObject("Microsoft.XMLDOM")
XSL.Load WScript.Arguments(1)
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim File
Set File = FSO.CreateTextFile(WScript.Arguments(2))
File.Write XML.transformNode(XSL.documentElement)
File.Close
Set FSO = Nothing
Set XML = Nothing
Set XSL = Nothing
|
|
|
|
В Windows NT и Windows 2000 имеется малоизвестная опция, позволяющая
разрешить вход в систему (logon) без ввода имени и пароля.
Это, конечно, удобно, но учтите, что:
- Кто угодно сможет загрузить Windows от Вашего имени.
- Ваш пароль будет храниться в Registry в открытом виде.
И еще: если Вы все-таки разрешите на Вашем компьютере автоматический вход,
но вдруг захотите, чтобы у Вас спросили имя и пароль, то при старте Windows
держите нажатой клавишу SHIFT.
Комментарии к коду:
- Все операции сводятся к записи в Registry.
- Запись в Registry осуществляются через стандартный объект WScript.Shell.
Листинг
Const AppName = "Windows NT/2K Autologon"
Const RegRoot = "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\"
Function ReadValue(ValueName)
On Error Resume Next
ReadValue = Shell.RegRead(RegRoot & ValueName)
On Error GoTo 0
End Function
Sub WriteValue(ValueName, Value)
On Error Resume Next
Shell.RegWrite RegRoot & ValueName, Value
On Error GoTo 0
End Sub
Sub AutologonIsOff
If MsgBox("Autologon is off." & vbNewLine & vbNewLine & _
"Do you want to enable it now?", _
vbYesNo + vbQuestion, AppName) <> vbYes Then Exit Sub
Dim Account
Account = InputBox("Please enter account in a 'DOMAIN\USER' form." _
& vbNewLine & vbNewLine & "Example: 'MICROSOFT\GATES'", _
AppName, ReadValue("DefaultDomainName") & "\" & _
ReadValue("DefaultUserName"))
If Len(Account) = 0 Then
MsgBox "Account is not entered.", _
vbOkOnly + vbExclamation, AppName
Exit Sub
End If
Dim I
I = InStr(Account, "\")
If I = 0 Then I = InStr(Account, "/")
If I = 0 Then
MsgBox "Invalid account format.", _
vbOkOnly + vbExclamation, AppName
Exit Sub
End If
Dim UserName, Domain
UserName = Mid(Account, I + 1)
Domain = Left(Account, I - 1)
If (Len(UserName) = 0) Or (Len(Domain) = 0) Then
MsgBox "Invalid account format.", _
vbOkOnly + vbExclamation, AppName
Exit Sub
End If
Dim Password
Password = InputBox("Please enter password for " & Account & _
" account", AppName, ReadValue("DefaultPassword"))
WriteValue "AutoAdminLogon", "1"
WriteValue "DefaultDomainName", Domain
WriteValue "DefaultUserName", UserName
WriteValue "DefaultPassword", Password
MsgBox "Autologon is enabled now.", _
vbOkOnly + vbInformation, AppName
End Sub
Sub AutologonIsOn
If MsgBox("Autologon is on:" & vbNewLine & vbNewLine & _
"User:" & vbTab & vbTab & _
"'" & ReadValue("DefaultDomainName") & _
"\" & ReadValue("DefaultUserName") & "'" & vbNewLine & _
"Password:" & vbTab & _
"'" & ReadValue("DefaultPassword") & "'" & _
vbNewLine & vbNewLine & _
"Do you want to disable it now?", _
vbYesNo + vbQuestion, AppName) <> vbYes Then Exit Sub
WriteValue "AutoAdminLogon", "0"
MsgBox "Autologon is disabled now.", _
vbOkOnly + vbInformation, AppName
End Sub
Dim Shell
Set Shell = WScript.CreateObject("WScript.Shell")
If ReadValue("AutoAdminLogon") = "1" Then
AutologonIsOn
Else
AutologonIsOff
End If
Set Shell = Nothing
Смотри также
Q97597 - How to Enable Automatic Logon in Windows NT
Q253370 - How to Enable Automatic Logon in Windows
Утилита Autologon от sysinternals.com
|
|
|
|
|
|
Архив рассылки Вы найдете на сайте
scripting.narod.ru.
|
|
|
|