| 
	
 | 
	
 
    
    
    
        
            | 
                 
             | 
         
        
        
            | 
                 
             | 
         
        
            
                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.
	         | 
         
        
            | 
                 
             | 
         
        
     
    
 
  
 | 
 |