В. Как передать имя пользователя и домена или имя компьютера на локальный компьютер, чтобы получить идентификатор безопасности (SID) объекта?
О. Ранее, отвечая на похожий вопрос, я использовал сценарий, в котором указывался объект и домен или компьютер. Некоторые читатели попросили привести пример, в котором данные передаются из командной строки. Ниже приведен измененный сценарий с информацией об использовании.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & " ootcimv2")
' Убедиться, что переданы все необходимые аргументы
If Wscript.Arguments.Count < 2 Then
Wscript.Echo "Необходимые аргументы. Например:" & vbCrLf
_ & "cscript getuserside.vbs savilltech john"
Wscript.Quit(0)
End If
strObjectDomain = Wscript.Arguments(0
strObjectUser = Wscript.Arguments(1)
Set objAccount = objWMIService.Get _
("Win32_Account.Name='" & strObjectUser & "',Domain='" & strObjectDomain & "'")
Wscript.Echo objAccount.SID
Примеры использования:
D: emp>cscript getusersid.vbs savilltech john
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
S-1-5-21-2835294230-785241407-2532694646-1106
D: emp>cscript getusersid.vbs savdalwks01 administrator
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
S-1-5-21-2145131515-88176748-1933197375-500