<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Anthony Reinke &#187; group</title>
	<atom:link href="http://www.anthonyreinke.com/tag/group/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anthonyreinke.com</link>
	<description>Rambling Thoughts of a Random Mind</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:03:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Information Gathering on My Own Servers</title>
		<link>http://www.anthonyreinke.com/2011/01/17/information-gathering-on-my-own-servers/</link>
		<comments>http://www.anthonyreinke.com/2011/01/17/information-gathering-on-my-own-servers/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 20:33:59 +0000</pubDate>
		<dc:creator>Anthony Reinke</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[bit]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[group]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[pack]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[vbs]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[visual]]></category>
		<category><![CDATA[warranty]]></category>
		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://www.anthonyreinke.com/?p=384</guid>
		<description><![CDATA[Currently I am having an issue with not knowing information about the servers I am responsible.   I am not happy not knowing things.  I spent a little time gather different parts of different scripts (hacker / script kiddie style) and compiling them in to one Visual Basic Script.  This script is designed to work [...]]]></description>
			<content:encoded><![CDATA[<p>Currently I am having an issue with not knowing information about the servers I am responsible.   I am not happy not knowing things.  I spent a little time gather different parts of different scripts (hacker / script kiddie style) and compiling them in to one Visual Basic Script.  This script is designed to work against Dell Servers.  It will ask the computer for it name, the OS, OS version number, Service Packs, Bit Level (32 or 64 bit), Dell Warranty info, list of local users, and a list of local groups and the users in the groups.  It takes the list of servers from &#8220;hosts.txt&#8221; which is just a list of servers or ip addresses where there is one per line.  It will write all the information it gathers in to a file called &#8220;report.txt&#8221;.</p>
<p>Download the <a href="http://www.anthonyreinke.com/repository/SystemInfo.vbs">.VBS File</a></p>
<p>Here is the code:</p>
<blockquote>
<div id="_mcePaste">Option Explicit</div>
<div id="_mcePaste">Dim url, svctag, wshShell, wshNetwork</div>
<div id="_mcePaste">Dim strComputer, colGroups, objGroup, objUser</div>
<div id="_mcePaste">Dim objWMIService, colItems, objItem</div>
<div id="_mcePaste">Dim warrantyRows, warrantyCols</div>
<div id="_mcePaste">Dim objsvc,svccount, errorChecking,svc,objNetwork,colAccounts</div>
<div id="_mcePaste">Dim get_OS_Bit, info, strComputer2, oReg, strKeyPath, strValueName, strValue</div>
<div id="_mcePaste">Dim objShell, objIE, objWMI</div>
<div id="_mcePaste">Dim colOSes, objOS</div>
<div id="_mcePaste">Dim objFSO, objTextFile, objTextFileW, objTextFileO, strNextLine, arrServiceList</div>
<div id="_mcePaste">Dim i, result</div>
<div id="_mcePaste">Const ForReading = 1</div>
<div id="_mcePaste">Const ForAppending = 8</div>
<div id="_mcePaste">Set objFSO = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)</div>
<div id="_mcePaste">Set objTextFileW = objFSO.OpenTextFile (&#8220;report.txt&#8221;, ForAppending, True)</div>
<div id="_mcePaste">Set objFSO = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)</div>
<div id="_mcePaste">Set objTextFileO = objFSO.OpenTextFile _</div>
<div id="_mcePaste">(&#8220;hosts.txt&#8221;, ForReading)</div>
<div id="_mcePaste">Do Until objTextFileO.AtEndOfStream</div>
<div id="_mcePaste">strNextLine = objTextFileO.Readline</div>
<div id="_mcePaste">arrServiceList = Split(strNextLine , &#8220;,&#8221;)</div>
<div id="_mcePaste">strComputer = arrServiceList(0)</div>
<div id="_mcePaste">wscript.echo strComputer</div>
<div id="_mcePaste">On Error Resume Next</div>
<div id="_mcePaste">Set colOSes = objWMIService.ExecQuery(&#8220;Select * from Win32_OperatingSystem&#8221;)</div>
<div id="_mcePaste">For Each objOS in colOSes</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;########################################&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;==            Computer Info           ==&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Computer Name      : &#8221; &amp; objOS.CSName</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">Set objWMI = GetObject(&#8220;winmgmts:\&#8221; &amp; strComputer &amp; &#8220;rootCIMV2&#8243;)</div>
<div id="_mcePaste">Set colItems = objWMI.ExecQuery(&#8220;SELECT * FROM Win32_OperatingSystem&#8221;,,48)</div>
<div id="_mcePaste">For Each objItem in colItems</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Operating System   : &#8221; &amp; objItem.Caption</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;OS Version Number  : &#8221; &amp; objItem.Version</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Service Pack       : &#8221; &amp; objItem.ServicePackMajorVersion</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">const HKEY_LOCAL_MACHINE = &amp;H80000002</div>
<div id="_mcePaste">Set oReg=GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}!\&#8221; &amp; strComputer &amp; &#8220;rootdefault:StdRegProv&#8221;)</div>
<div id="_mcePaste">strKeyPath = &#8220;HARDWAREDESCRIPTIONSystemCentralProcessor &#8221;</div>
<div id="_mcePaste">strValueName = &#8220;Identifier&#8221;</div>
<div id="_mcePaste">oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue</div>
<div id="_mcePaste">if (instr(strValue,&#8221;x86&#8243;)) then</div>
<div id="_mcePaste">get_OS_Bit=&#8221;32&#8243;</div>
<div id="_mcePaste">elseif (instr(strValue,&#8221;64&#8243;)) then</div>
<div id="_mcePaste">get_OS_Bit=&#8221;64&#8243;</div>
<div id="_mcePaste">else</div>
<div id="_mcePaste">get_OS_Bit=&#8221;NotSure&#8221;</div>
<div id="_mcePaste">end if</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;OS is              : &#8221; &amp; get_OS_Bit &amp; &#8220;bit&#8221;</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;==  Get the Dell warranty information ==&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">url = &#8220;http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&amp;cs=RC956904&amp;l=en&amp;s=hied&amp;~lt=bodyonly&amp;~wsf=tabs&amp;servicetag=&#8221;</div>
<div id="_mcePaste">set objIE=createobject(&#8220;internetexplorer.application&#8221;)</div>
<div id="_mcePaste">set objShell = WScript.CreateObject(&#8220;WScript.Shell&#8221;)</div>
<div id="_mcePaste">set objWMI = GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}!\&#8221; &amp; strComputer &amp; &#8220;rootcimv2&#8243;)</div>
<div id="_mcePaste">If InStr(UCase(objWMI.ExecQuery(&#8220;Select Manufacturer From Win32_ComputerSystem&#8221;).ItemIndex(0).Manufacturer), &#8220;DELL&#8221;) = 0 then Err.Raise 2, &#8220;This is not a Dell dude!&#8221;, &#8220;No Service Tag&#8221;</div>
<div id="_mcePaste">svctag = objWMI.ExecQuery  (&#8220;Select SerialNumber from Win32_BIOS&#8221;).ItemIndex(0).SerialNumber</div>
<div id="_mcePaste">Set objWMIService = GetObject(&#8220;winmgmts:&#8221; _</div>
<div id="_mcePaste">&amp; &#8220;{impersonationLevel=impersonate}!\&#8221; _</div>
<div id="_mcePaste">&amp; strComputer &amp; &#8220;rootcimv2&#8243;)</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Service Tag        : &#8221; &amp; svctag</div>
<div id="_mcePaste">objIE.navigate url &amp; svctag</div>
<div id="_mcePaste">do while objIE.readystate&lt;&gt;4 : wscript.sleep 50 : loop</div>
<div id="_mcePaste">set warrantyRows = objIE.document.getElementsByTagName(&#8220;table&#8221;).item(1).getElementsByTagName(&#8220;table&#8221;).item(2).getElementsByTagName(&#8220;table&#8221;).item(0).getElementsByTagName(&#8220;tr&#8221;)</div>
<div id="_mcePaste">For i = 1 to warrantyRows.length &#8211; 1</div>
<div id="_mcePaste">set warrantyCols = warrantyRows.item(i).getElementsByTagName(&#8220;td&#8221;)</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Description        : &#8221; &amp; warrantyCols.item(0).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Provider           : &#8221; &amp; warrantyCols.item(1).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Warranty Extension : &#8221; &amp; warrantyCols.item(2).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Start Date         : &#8221; &amp; warrantyCols.item(3).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;End Date           : &#8221; &amp; warrantyCols.item(4).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Days Left          : &#8221; &amp; warrantyCols.item(5).innerText</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;==       List all local users         ==&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;========================================&#8221;</div>
<div id="_mcePaste">Set objNetwork = CreateObject(&#8220;Wscript.Network&#8221;)</div>
<div id="_mcePaste">&#8216;strComputer = objNetwork.ComputerName</div>
<div id="_mcePaste">Set colAccounts = GetObject(&#8220;WinNT://&#8221; &amp; strComputer &amp; &#8220;&#8221;)</div>
<div id="_mcePaste">colAccounts.Filter = Array(&#8220;user&#8221;)</div>
<div id="_mcePaste">For Each objUser In colAccounts</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Local User         : &#8221; &amp; objUser.Name</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;===========================================&#8221;</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;== List all local groups and their users ==&#8221;</div>
<div id="_mcePaste">objTextFileW.Writeline &#8220;===========================================&#8221;</div>
<div id="_mcePaste">Set colGroups = GetObject(&#8220;WinNT://&#8221; &amp; strComputer &amp; &#8220;&#8221;)</div>
<div id="_mcePaste">colGroups.Filter = Array(&#8220;group&#8221;)</div>
<div id="_mcePaste">For Each objGroup In colGroups</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Group              : &#8221; &amp; objGroup.Name</div>
<div id="_mcePaste">For Each objUser in objGroup.Members</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;User               : &#8221; &amp; objUser.Name</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">Next</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;== List all services ==&#8221;</div>
<div id="_mcePaste">set objsvc = GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}\&#8221; &amp; strComputer &amp; &#8220;rootcimv2&#8243;).ExecQuery (&#8220;SELECT * FROM Win32_Service&#8221;)</div>
<div id="_mcePaste">for each svc in objsvc</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Service            : &#8221; &amp; svc.displayname</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Current Status     : &#8221; &amp; svc.state</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Startus Type       : &#8221; &amp; svc.startmode</div>
<div id="_mcePaste">objTextFileW.WriteLine &#8220;Run Server As      : &#8221; &amp; svc.startname</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">next</div>
<div id="_mcePaste">objTextFileW.WriteLine</div>
<div id="_mcePaste">Loop</div>
<div id="_mcePaste">objTextFileW.Close</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.anthonyreinke.com/2011/01/17/information-gathering-on-my-own-servers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Least Privilege Security Model</title>
		<link>http://www.anthonyreinke.com/2009/06/25/least-privilege-security-model/</link>
		<comments>http://www.anthonyreinke.com/2009/06/25/least-privilege-security-model/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 21:58:06 +0000</pubDate>
		<dc:creator>Anthony Reinke</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[daily]]></category>
		<category><![CDATA[group]]></category>
		<category><![CDATA[least]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[privilege]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.anthonyreinke.com/2009/06/25/least-privilege-security-model/</guid>
		<description><![CDATA[I am finding in my daily work that everyone talks about and wants the least privilege security model until want access to something. We can redesign a network share and say that only groups are allowed and that we are not to allow user access to directly to have access and within a month of [...]]]></description>
			<content:encoded><![CDATA[<p>I am finding in my daily work that everyone talks about and wants the least privilege security model until want access to something.  We can redesign a network share and say that only groups are allowed and that we are not to allow user access to directly to have access and within a month of going live there is a handful of user accounts listed.  What I also find funny is how people react when you ask why?  Why do you need this access?  You would think I am asking them to justify why they exist.  My goal is to be able to document and justify why I have granted access to something (share, server, etc.) and they get offended.  Using the model of least privilege help to protect everyone and the company.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anthonyreinke.com/2009/06/25/least-privilege-security-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

