список администраторов на компьютерах домена
В файл \Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof добавляем следующее:
// Local Admins
#pragma namespace («\\\\.\\root\\cimv2\\sms»)
[SMS_Report (TRUE),
SMS_Group_Name («LocalAdmins»),
SMS_Class_ID («MICROSOFT|LocalAdmins|1.0»)]
class Win32_LocalAdmins : SMS_Class_Template
{
[SMS_Report(TRUE), key]
string AccountName;
[SMS_Report(TRUE), key]
string GroupName;
};
Ждём, когда клиент SCCM получит новые политики (по умолчанию — каждые 60 минут), либо вручную запускаем Machine Policy Retrieval and Evaluation Cycle.
После того, как мы создали класс, нужно заставить клиента его заполнять.
«Доставить информацию» на удалённый компьютер можно разными способами. Я решил, что наиболее удобно будет распостранить пакет.
Содержимое admin.mof:
#pragma namespace («\\\\.\\root\\cimv2»)
[union, ViewSources{«Select * from Win32_GroupUser where GroupComponent=\»Win32_Group.Domain=’BUILTIN’,Name=’Администраторы’\»»},
ViewSpaces{«\\\\.\\root\\CIMV2»}, Dynamic : ToInstance, provider(«MS_VIEW_INSTANCE_PROVIDER»)]
class Win32_LocalAdmins
{
[PropertySources(«PartComponent»), key] Win32_Account ref AccountName;
[PropertySources(«GroupComponent»), key] Win32_Group ref GroupName;
};
Содержимое admin.cmd:
mofcomp.exe admin.mof
Содержимое admin.vbs:
On Error Resume Next
‘1 Create temporary .mof file in Temp folder
‘2 mofcomp the created .mof file
‘Kudos to Mike Seely—>http://www.myitforum.com/forums/Local_Admins_MOF/m_179546/tm.htm
‘and of course Ward Lange, and report structure from Gavin Ross & Claudio Dhondt—>
‘http://www.myitforum.com/forums/m_149305/tm.htm#149662
‘6/8/08 Sherry Kissinger
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set nwo = CreateObject(«Wscript.Network»)
Set sho = CreateObject(«Wscript.Shell»)
TempFolder = sho.ExpandEnvironmentStrings(«%temp%»)
strWindir = sho.ExpandEnvironmentStrings(«%windir%»)
Set f1 = fso.CreateTextFile(TempFolder & «\SMSLocalAdmin.mof»,True)
f1.WriteLine(«#pragma namespace («&Chr;(34)&»\\\\.\\root\\cimv2″&chr;(34)&»)»)
f1.WriteLine(«[union, ViewSources{«&chr;(34)&»Select * from Win32_GroupUser where » &_
«GroupComponent=\»&chr;(34)&»Win32_Group.Domain='»&nwo.ComputerName;&_
«‘,Name=’Администраторы’\»&Chr;(34)&Chr;(34)&_
«},ViewSpaces{«&Chr;(34)&»\\\\.\\root\\CIMV2″&Chr;(34)&»}, Dynamic : ToInstance, provider(«&_
Chr(34)&»MS_VIEW_INSTANCE_PROVIDER»&CHR;(34)&»)]»)
f1.WriteLine(«class Win32_LocalAdmins»)
f1.WriteLine(«{«)
f1.WriteLine(«[PropertySources(«&chr;(34)&»PartComponent»&chr;(34)&»), key] Win32_Account ref AccountName;»)
f1.WriteLine
(«[PropertySources(«&chr;(34)&»GroupComponent»&chr;(34)&»), key] Win32_Group ref GroupName;»)
f1.WriteLine(«};»)
f1.Close
sho.Run strWindir & «\system32\wbem\mofcomp » & TempFolder & «\SMSLocalAdmin.mof»,0,True
Set f1 = fso.getFile(TempFolder & «\smslocaladmin.mof»)
f1.Delete
wscript.quit
Пакет содержит две программы: для компьютеров с Windows XP и для Windows Server 2003/2008 соответственно.
dbo.v_GS_SYSTEM.Name0 AS ‘Computer Name’, SUBSTRING(dbo.v_GS_LOCALADMINS.AccountName0, CHARINDEX(‘Domain=’,
dbo.v_GS_LOCALADMINS.AccountName0) + 8, CHARINDEX(‘Name=’, dbo.v_GS_LOCALADMINS.AccountName0) — CHARINDEX(‘Domain=’,
dbo.v_GS_LOCALADMINS.AccountName0) — 10) AS ‘Domain Name’, SUBSTRING(dbo.v_GS_LOCALADMINS.AccountName0,
LEN(dbo.v_GS_LOCALADMINS.AccountName0) — CHARINDEX(‘»‘, REVERSE(dbo.v_GS_LOCALADMINS.AccountName0), 2) + 2, CHARINDEX(‘»‘,
REVERSE(dbo.v_GS_LOCALADMINS.AccountName0), 2) — 2) AS ‘User Name’
FROM dbo.v_GS_SYSTEM INNER JOIN
dbo.v_GS_LOCALADMINS ON dbo.v_GS_SYSTEM.ResourceID = dbo.v_GS_LOCALADMINS.ResourceID
Ссылки по теме: Report on Local Administrators Group Membership
Что-то вообще ничего не работает. Vbs-скрпит для 2003 (я использую для вин7) — кривой. Скрипт отчёта тоже. У меня sccm 2007.
Я не пробовал делать это на Windows 7. В связке 2003-ХР всё работало.
С ХР у меня тоже всё работает..
Я ответил Вам на форуме Технет.
Можно ссылку на данный ответ. так как у меня на ХР работает на 7-ке нет.
Спасибо
http://myitforum.com/cs2/blogs/skissinger/archive/2010/04/25/report-on-all-members-of-all-local-groups.aspx
Можете вот так еще попробывать — http://systemcenter4all.wordpress.com/2012/06/17/local-group-membership/. В моем скрипте не обязательно чтобы администратор именовался как-то определенно, т.к. можно отчеты строить по дефолтным SID встроенных групп.