В. Как передать имя пользователя и домена или имя компьютера на локальный компьютер, чтобы получить идентификатор безопасности (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