Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


id334492052@vk, зачем что-то изобретать, когда можно просто взять и просто добавить код в тот же VBS? Вот Вам примерная болванка:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

objSWbemServicesEx.Security_.Privileges.AddAsString "SeShutdownPrivilege", True

For Each objSWbemObjectEx In objSWbemServicesEx.ExecQuery( _
		"SELECT * FROM Win32_UserAccount WHERE LocalAccount = True AND SID LIKE 'S-1-5-21-%-500'" _
	)
	
	If objSWbemObjectEx.Disabled Then
		If MsgBox("Enable [" & objSWbemObjectEx.Name & "] account?", vbQuestion + vbYesNo + vbDefaultButton2, "Enable account") = vbYes Then
			With GetObject("WinNT://" & strComputer & "/" & objSWbemObjectEx.Name & ",user")
				.AccountDisabled = False
				.SetInfo
			End With
			
			Call Reboot
		End If
	Else
		If MsgBox("Disable [" & objSWbemObjectEx.Name & "] account?", vbQuestion + vbYesNo + vbDefaultButton2, "Disable account") = vbYes Then
			With GetObject("WinNT://./" & objSWbemObjectEx.Name & ",user")
				.AccountDisabled = True
				.SetInfo
			End With
			
			Call Reboot
		End If
	End If
Next

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub Reboot()
	Dim objSWbemObjectEx
	
	For Each objSWbemObjectEx In objSWbemServicesEx.ExecQuery("SELECT * FROM Win32_OperatingSystem")
		objSWbemObjectEx.Reboot()
	Next
End Sub
'=============================================================================

Последний раз редактировалось Iska, 07-12-2016 в 03:52. Причина: В одном месте использовал переменную strComputer, а в другом месте — забыл и оставил непосредственно «.». Поправил.

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

Отправлено: 14:08, 05-12-2016 | #4