<?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>wAdmin.ru &#187; SCCM 2007</title>
	<atom:link href="http://blog.wadmin.ru/tag/sccm-2007/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wadmin.ru</link>
	<description>Записки сисадмина</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:00:43 +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>Обучение по SCOM 2007 R2</title>
		<link>http://blog.wadmin.ru/2011/05/scom-2007-r2/</link>
		<comments>http://blog.wadmin.ru/2011/05/scom-2007-r2/#comments</comments>
		<pubDate>Tue, 17 May 2011 16:28:28 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Новости]]></category>
		<category><![CDATA[SCCM 2007]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=3435</guid>
		<description><![CDATA[Коллеги. С 30.05.2011 по 03.06.2011 я буду на обучении по SCOM 2007 R2 от Microsoft Premier Support-а. Тренер &#8211; Григорий Плотников. Если у кого есть вопросы могу задать тренеру. Все вопросы в комментариях.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-3436" title="SCCM 2007 R2" src="http://blog.wadmin.ru/wp-content/uploads/2011/05/sccm.png" alt="SCCM 2007 R2" width="120" height="59" />Коллеги.</p>
<p>С 30.05.2011 по 03.06.2011 я буду на обучении по SCOM 2007 R2 от Microsoft Premier Support-а. Тренер &#8211; Григорий Плотников.</p>
<p>Если у кого есть вопросы могу задать тренеру.</p>
<p>Все вопросы в комментариях.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2011/05/scom-2007-r2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Powershell &#8211; синхронизация папок</title>
		<link>http://blog.wadmin.ru/2011/04/folder-mirror/</link>
		<comments>http://blog.wadmin.ru/2011/04/folder-mirror/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 10:22:22 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SCCM 2007]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=3244</guid>
		<description><![CDATA[Уверен что у вас иногда возникает задача создания &#171;зеркальных&#187; наборов данных, таких как сохранение бэкапов на удаленной площадке или копирование данных для бэкапа на другой сервер. Вариантов масса, уверен что вы с легкостью добавите как [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-2579" title="topic_powershell" src="http://blog.wadmin.ru/wp-content/uploads/2011/02/topic_powershell.png" alt="topic_powershell" width="50" height="38" />Уверен что у вас иногда возникает задача создания &laquo;зеркальных&raquo; наборов данных, таких как сохранение бэкапов на удаленной площадке или копирование данных для бэкапа на другой сервер.</p>
<p>Вариантов масса, уверен что вы с легкостью добавите как минимум еще 3-5 штук.</p>
<p>Первое что приходит в голову &#8211; технология DFSr, но это не наш метод <img src='http://blog.wadmin.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  мы вспоминая стааринную фразу &laquo;Используй все что под рукою и не ищи себе другое&raquo; обратимся к powershell.<br />
<strong>Задача:</strong><br />
Необходимо по расписанию синхронизировать удаленную папку и локальную.</p>
<p><strong>Решение:</strong><br />
Копируем скрипт представленный ниже в файл <strong>folder_mirror.ps1</strong>, изменяем пути на необходимые и создаем запланированное задание.</p>
<div class="codesnip-container" >
<div class="powershell codesnip" style="font-family:monospace;"><span class="kw3">function</span> FolderMirror <span class="br0">&#123;</span><br />
<span class="kw3">param</span> <span class="br0">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$dest</span><span class="br0">&#41;</span></p>
<p><span class="re0">$comparedirs</span> <span class="sy0">=</span> <span class="kw1">Compare-Object</span> <span class="br0">&#40;</span><span class="kw2">gci</span> <span class="re0">$source</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="kw2">gci</span> <span class="re0">$dest</span><span class="br0">&#41;</span><br />
<span class="kw3">if</span> <span class="br0">&#40;</span><span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> <span class="st0">&#8216;=&gt;&#8217;</span><span class="br0">&#125;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> <span class="st0">&#8216;=&gt;&#8217;</span><span class="br0">&#125;</span> <span class="sy0">|</span> <span class="kw1">ForEach-Object</span><span class="br0">&#123;</span><span class="kw1">Write-Host</span> <span class="st0">&quot;Removing&quot;</span><span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName<br />
<span class="kw1">Remove-Item</span> <span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw3">if</span> <span class="br0">&#40;</span><span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> <span class="st0">&#8216;&lt;=&#8217;</span><span class="br0">&#125;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> <span class="st0">&#8216;&lt;=&#8217;</span><span class="br0">&#125;</span> <span class="sy0">|</span> <span class="kw1">ForEach-Object</span><span class="br0">&#123;</span><span class="kw1">Write-Host</span> <span class="st0">&quot;Copying&quot;</span><span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName <span class="st0">&quot;to&quot;</span> <span class="re0">$dest</span><br />
<span class="kw1">Copy-Item</span> <span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName <span class="kw5">-Destination</span> <span class="re0">$dest</span><span class="br0">&#125;</span><br />
<span class="br0">&#125;</span> <span class="kw3">else</span> <span class="br0">&#123;</span><br />
<span class="kw1">Write-Host</span> <span class="st0">&quot;The directories are the same&quot;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p>FolderMirror <span class="st0">&quot;\\SOURCE\PATH&quot;</span> <span class="st0">&quot;C:\DEST\PATH\&quot;</span></div>
</div>
<p>В случае если нам требуется синхронизация дерева папок то можно немного изменив скрипт воспользоваться вот этим.</p>
<div class="codesnip-container" >
<div class="powershell codesnip" style="font-family:monospace;"><span class="kw3">function</span> FolderMirror <span class="br0">&#123;</span><br />
<span class="kw3">param</span> <span class="br0">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$dest</span><span class="br0">&#41;</span><br />
<span class="re0">$comparedirs</span> <span class="sy0">=</span> <span class="kw1">Compare-Object</span> <span class="br0">&#40;</span><span class="kw2">gci</span> <span class="re0">$source</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="kw2">gci</span> <span class="re0">$dest</span><span class="br0">&#41;</span><br />
<span class="kw3">if</span> <span class="br0">&#40;</span><span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> ‘<span class="sy0">=&gt;</span>’<span class="br0">&#125;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> ‘<span class="sy0">=&gt;</span>’<span class="br0">&#125;</span> <span class="sy0">|</span> <span class="kw1">ForEach-Object</span><span class="br0">&#123;</span><span class="kw1">Write-Host</span> <span class="st0">&quot;Removing&quot;</span><span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName<br />
<span class="kw1">Remove-Item</span> <span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw3">if</span> <span class="br0">&#40;</span><span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> ‘ <span class="re0">$comparedirs</span> <span class="sy0">|</span> <span class="kw1">Where-Object</span> <span class="br0">&#123;</span><a href="about:blank"><span class="kw6">$_</span></a>.SideIndicator <span class="kw4">-eq</span> ‘ <span class="kw1">Copy-Item</span> <span class="br0">&#40;</span><a href="about:blank"><span class="kw6">$_</span></a>.InputObject<span class="br0">&#41;</span>.FullName <span class="kw5">-Destination</span> <span class="re0">$dest</span><span class="br0">&#125;</span><br />
<span class="br0">&#125;</span> <span class="kw3">else</span> <span class="br0">&#123;</span><br />
<span class="kw1">Write-Host</span> <span class="st0">&quot;The directories are the same&quot;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">$source</span> <span class="sy0">=</span> <span class="st0">&quot;C:\TEMP&quot;</span><br />
<span class="re0">$dest</span> <span class="sy0">=</span> <span class="st0">&quot;C:\TEMP1&quot;</span></p>
<p><span class="re0">$files</span> <span class="sy0">=</span> <span class="kw1">Get-ChildItem</span> <span class="re0">$source</span><br />
<span class="kw3">foreach</span> <span class="br0">&#40;</span><span class="re0">$file</span> <span class="kw3">in</span> <span class="re0">$files</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw3">if</span><span class="br0">&#40;</span><span class="re0">$file</span>.mode <span class="kw4">-match</span> “d”<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">write-host</span> <span class="st0">&quot;Folder &#8211; &quot;</span> <span class="re0">$file</span><br />
<span class="kw3">if</span> <span class="br0">&#40;</span><span class="kw1">Test-Path</span> <span class="re0">$dest</span>\<span class="re0">$file</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="br0">&#125;</span> <span class="kw3">else</span> <span class="br0">&#123;</span><br />
<span class="kw1">New-Item</span> <span class="re0">$dest</span>\<span class="re0">$file</span> <span class="kw5">-ItemType</span> Directory<br />
<span class="br0">&#125;</span><br />
FolderMirror <span class="st0">&quot;$source\$file&quot;</span> <span class="st0">&quot;$dest\$file&quot;</span><br />
<span class="br0">&#125;</span> <span class="kw3">else</span> <span class="br0">&#123;</span><br />
FolderMirror <span class="re0">$source</span> <span class="re0">$dest</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2011/04/folder-mirror/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>SCCM 2007 &#8211; Автоматизация установки агентов</title>
		<link>http://blog.wadmin.ru/2009/09/sccm-install-agents-via-script/</link>
		<comments>http://blog.wadmin.ru/2009/09/sccm-install-agents-via-script/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 06:15:59 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[SCCM 2007]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=190</guid>
		<description><![CDATA[Методов установки SCCM 2007 агентов великое множество, прежде всего штатных, но общепризнанная проблема состоит в том что полностью автоматизировать этот процесс довольно сложно. В случае установки push-методом контролировать процесс приходится вручную (если компьютер новый то [...]]]></description>
			<content:encoded><![CDATA[<p>Методов установки SCCM 2007 агентов великое множество, прежде всего штатных, но общепризнанная проблема состоит в том что полностью автоматизировать этот процесс довольно сложно.</p>
<p>В случае установки push-методом контролировать процесс приходится вручную (если компьютер новый то становиться сразу, если нет то приходится делать лишние телодвижения), при установке через WSUS всегда допускается неработающий WSUS-клиент.</p>
<p>Предлагаю всеобщему вниманию одну из методик.</p>
<p>Она требует некоторой доработки, но вполне работоспособна и с успехом используется в продуктивном окружении.</p>
<p>Кратко по скрипту приведенному ниже.</p>
<p>Скрипт помещается либо в автозагрузку, либо как логон-скрипт для ПК на котором должен быть установлен агент.</p>
<p>именно отсюда идет</p>
<div class="codesnip-container" >
<div class="vb codesnip" style="font-family:monospace;">strComputer = <span class="st0">&quot;.&quot;</span></div>
</div>
<p>Далее происходит проверка наличия сервиса <strong>ccmexec</strong></p>
<p>в случае его отсутствия будет произведена попытка его установки с помощью строки</p>
<div class="codesnip-container" >
<div class="vb codesnip" style="font-family:monospace;">strCommand = <span class="st0">&quot;\\DFS_PATH\CcmSetup.exe /mp:&quot;</span> &amp;amp; strSiteServer &amp;amp; <span class="st0">&quot; SmsSiteCode=&quot;</span> &amp;amp; strSiteCode</div>
</div>
<p>нелишним будет добавить что этот путь должен быть исправлен на существующий и для учетной записи ПК туда должен быть доступ на чтение.</p>
<p>В случае если сервис установлен то будет предпринята попытка запустить ClientActions.</p>
<p>В завершении процесса в случае если были ошибки, например не живой WMI или не удалось что то сделать то на мыло администратора приходит примерно такая штука</p>
<pre>ComputerName is Computer-name
OS Version: Windows XP
Couldn't get the client actions
For Details please visit <a href="http://wiki/index.php/SCCM_Installer">http://wiki/index.php/SCCM_Installer</a>

Best regards
SCCMInstaller Service user.</pre>
<p>В ближайших планах есть научить этот скрипт понимать Windows 7</p>
<div class="codesnip-container" >
<div class="vb codesnip" style="font-family:monospace;"><span class="kw1">on</span> <span class="kw1">error</span> <span class="kw1">resume</span> <span class="kw1">next</span></p>
<p><span class="kw1">Dim</span> Results, Service, StateResults, StartMode</p>
<p>strComputer = <span class="st0">&quot;.&quot;</span><br />
strService = <span class="st0">&quot;CcmExec&quot;</span></p>
<p><span class="kw1">Set</span> objWMIService = GetObject(<span class="st0">&quot;winmgmts:\\&quot;</span> &amp;amp; strComputer &amp;amp; <span class="st0">&quot;\root\cimv2&quot;</span>)<br />
<span class="kw1">Set</span> colServices = objWMIService.ExecQuery(<span class="st0">&quot;Select * from Win32_Service Where Name=&#8217;&quot;</span> &amp;amp; strService &amp;amp; <span class="st0">&quot;&#8217;&quot;</span>)<br />
<span class="kw1">Set</span> WshShell = WScript.CreateObject(<span class="st0">&quot;WScript.Shell&quot;</span>)</p>
<p><span class="kw1">If</span> err&amp;lt;&amp;gt;0 <span class="kw1">Then</span><br />
SendReport <span class="st0">&quot;WMI Connection is failing. Please ckeck this machine.&quot;</span> &amp;amp; CHR(13) &amp;amp; <span class="st0">&quot;WMI Error message: &quot;</span>&amp;amp; Err.description<br />
WScript.Quit<br />
<span class="kw1">Else</span><br />
<span class="kw1">If</span> colServices.Count = 0 <span class="kw1">Then</span><br />
strSiteCode = <span class="st0">&quot;Sxx&quot;</span><br />
strSiteServer = <span class="st0">&quot;site_server&quot;</span><br />
strCommand = <span class="st0">&quot;\\DFS_PATH\CcmSetup.exe /mp:&quot;</span> &amp;amp; strSiteServer &amp;amp; <span class="st0">&quot; SmsSiteCode=&quot;</span> &amp;amp; strSiteCode</p>
<p>retVal = WshShell.Run(strCommand)<br />
<span class="kw1">If</span> RetVal=0 <span class="kw1">Then</span><br />
sendReport <span class="st0">&quot;Setup Program complete with code &#8211; &quot;</span> &amp;amp; <span class="kw1">CStr</span>(RetVal)<br />
<span class="kw1">else</span><br />
sendReport <span class="st0">&quot;Setup Program failed with code &#8211; &quot;</span> &amp;amp; <span class="kw1">CStr</span>(RetVal)<br />
<span class="kw1">end</span> <span class="kw1">if</span><br />
<span class="kw1">Else</span><br />
CheckSccmServiceState<br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span><br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">Function</span> getManagementPoint<br />
<span class="kw1">Dim</span> oSMSClient, getMP<br />
<span class="kw1">Set</span> oSMSClient = CreateObject (<span class="st0">&quot;Microsoft.SMS.Client&quot;</span>)</p>
<p><span class="kw1">If</span> Err.Number &amp;lt;&amp;gt; 0 <span class="kw1">Then</span><br />
sendReport <span class="st0">&quot;Could not create SMS Client Object &#8211; quitting&quot;</span><br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span><br />
getMP=oSMSClient.GetCurrentManagementPoint<br />
getManagementPoint=getMP<br />
<span class="co1">&#8216;WScript.Echo &quot;Current Management Point is : &quot; &amp;amp; oSMSClient.GetCurrentManagementPoint<br />
</span><span class="kw1">End</span> <span class="kw1">Function</span></p>
<p><span class="kw1">Function</span> GetAssignedSite<br />
<span class="kw1">Dim</span> smsClient,getSite<br />
<span class="kw1">Set</span> smsClient = CreateObject (<span class="st0">&quot;Microsoft.SMS.Client&quot;</span>)</p>
<p><span class="kw1">If</span> Err.Number &amp;lt;&amp;gt; 0 <span class="kw1">then</span><br />
SendReport <span class="st0">&quot;Could not create SMS Client Object &#8211; quitting&quot;</span><br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span><br />
getSite=smsClient.GetAssignedSite<br />
GetAssignedSite=getSite<br />
<span class="kw1">End</span> <span class="kw1">Function</span></p>
<p><span class="kw1">Function</span> getCacheInfo<br />
<span class="kw1">Dim</span> smsClient, getCache, oUIResManager, oCache, CacheSize<br />
CacheSize=1500</p>
<p><span class="kw1">Set</span> smsClient = CreateObject (<span class="st0">&quot;Microsoft.SMS.Client&quot;</span>)<br />
<span class="kw1">If</span> Err.Number &amp;lt;&amp;gt; 0 <span class="kw1">then</span><br />
SendReport <span class="st0">&quot;Could not create SMS Client Object &#8211; quitting&quot;</span><br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">Set</span> oUIResManager = createobject(<span class="st0">&quot;UIResource.UIResourceMgr&quot;</span>)<br />
<span class="kw1">Set</span> oCache=oUIResManager.GetCacheInfo()<br />
<span class="kw1">If</span> oCache <span class="kw1">Is</span> <span class="kw1">Nothing</span> <span class="kw1">Then</span><br />
<span class="kw1">Set</span> oUIResManager=<span class="kw1">Nothing</span><br />
SendReport <span class="st0">&quot;Could not get cache info &#8211; quitting&quot;</span><br />
WScript.Quit<br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p>oCache.TotalSize=CacheSize</p>
<p>getCache=oCache.TotalSize<br />
getCacheInfo=getCache<br />
<span class="kw1">End</span> <span class="kw1">Function</span></p>
<p><span class="kw1">Function</span> GetOSSP<br />
<span class="kw1">Dim</span> objWMIService,os,getWinOS,GetWinSP<br />
<span class="kw1">Set</span> objWMIService = GetObject(<span class="st0">&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2&quot;</span>)<br />
<span class="kw1">For</span> <span class="kw1">Each</span> os <span class="kw1">In</span> objWMIService.InstancesOf(<span class="st0">&quot;Win32_OperatingSystem Where Primary=True&quot;</span>)<br />
<span class="kw1">Select</span> <span class="kw1">Case</span> os.Version<br />
<span class="kw1">Case</span> <span class="st0">&quot;6.0.6001&quot;</span>: getWinOS = <span class="st0">&quot;VISTA SP1&quot;</span><br />
<span class="kw1">Case</span> <span class="st0">&quot;6.0.6000&quot;</span>: getWinOS = <span class="st0">&quot;VISTA&quot;</span><br />
<span class="kw1">Case</span> <span class="st0">&quot;5.2.3790&quot;</span>: getWinOS = <span class="st0">&quot;Windows Server 2003&quot;</span><br />
<span class="kw1">Case</span> <span class="st0">&quot;5.1.2600&quot;</span>: getWinOS = <span class="st0">&quot;Windows XP&quot;</span><br />
<span class="kw1">Case</span> <span class="st0">&quot;5.0.2195&quot;</span>: getWinOS = <span class="st0">&quot;W2K&quot;</span><br />
<span class="kw1">Case</span> <span class="kw1">Else</span> : getWinOS = <span class="st0">&quot;Other&quot;</span><br />
<span class="kw1">End</span> <span class="kw1">Select</span><br />
<span class="kw1">Next</span><br />
GetOSSP = getWinOS<br />
<span class="kw1">End</span> <span class="kw1">Function</span></p>
<p><span class="kw1">Sub</span> CheckSccmServiceState<br />
<span class="kw1">set</span> Results = objWMIService.ExecQuery(<span class="st0">&quot;select state from Win32_Service where name=&#8217;&quot;</span> &amp;amp; strService &amp;amp; <span class="st0">&quot;&#8217;&quot;</span>)</p>
<p><span class="kw1">For</span> <span class="kw1">Each</span> objService <span class="kw1">In</span> Results<br />
StateResults = objService.State<br />
ServiceState = StateResults<br />
<span class="co1">&#8216;WScript.Echo &quot; State &quot; &amp;amp; objService.State<br />
</span><br />
<span class="kw1">if</span> ServiceState = <span class="st0">&quot;Stopped&quot;</span> <span class="kw1">then</span><br />
<span class="co1">&#8216;WScript.Echo &quot; Starting &quot; &amp;amp; objService.Name<br />
</span>objService.StartService()<br />
WScript.Sleep 10000<br />
SendReport <span class="st0">&quot;Service State : Not Running&quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Action        : Start Service&quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Current MP    : &quot;</span> &amp;amp; getManagementPoint &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Assigned Site : &quot;</span> &amp;amp; GetAssignedSite &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Cache Size    : &quot;</span> &amp;amp; getCacheInfo &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot; &quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Initiate PerformAction&quot;</span><br />
PerformAction<br />
<span class="kw1">else</span><br />
<span class="co1">&#8216;SendReport &quot;Service State : Running.&quot; &amp;amp; CHR(13) &amp;amp; _<br />
&#8216;&quot;Current MP    : &quot; &amp;amp; getManagementPoint &amp;amp; CHR(13) &amp;amp; _<br />
&#8216;&quot;Assigned Site : &quot; &amp;amp; GetAssignedSite &amp;amp; CHR(13) &amp;amp; _<br />
&#8216;&quot;Cache Size    : &quot; &amp;amp; getCacheInfo &amp;amp; CHR(13) &amp;amp; _<br />
&#8216;&quot; &quot; &amp;amp; CHR(13) &amp;amp; _<br />
&#8216;&quot;Initiate PerformAction&quot;<br />
</span>PerformAction<br />
<span class="kw1">end</span> <span class="kw1">if</span><br />
<span class="kw1">Next</span></p>
<p><span class="kw1">set</span> Results = objWMIService.ExecQuery(<span class="st0">&quot;select state from Win32_Service where name=&#8217;&quot;</span> &amp;amp; strService &amp;amp; <span class="st0">&quot;&#8217;&quot;</span>)</p>
<p><span class="kw1">For</span> <span class="kw1">Each</span> objService <span class="kw1">In</span> Results<br />
<span class="kw1">if</span> objService.State = <span class="st0">&quot;Stopped&quot;</span> <span class="kw1">then</span></p>
<p>SendReport <span class="st0">&quot;Service ccmexec &#8211; found.&quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;State &#8211; not running&quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Start service Failed. &quot;</span> &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Current MP    : &quot;</span> &amp;amp; getManagementPoint &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Assigned Site : &quot;</span> &amp;amp; GetAssignedSite &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot;Cache Size    : &quot;</span> &amp;amp; getCacheInfo &amp;amp; CHR(13) &amp;amp; _<br />
<span class="st0">&quot; &quot;</span> &amp;amp; CHR(13)<br />
<span class="kw1">else</span><br />
<span class="co1">&#8216;WScript.echo &quot;start service&quot;<br />
</span><span class="kw1">end</span> <span class="kw1">if</span><br />
<span class="kw1">next</span><br />
<span class="kw1">end</span> <span class="kw1">Sub</span></p>
<p><span class="kw1">Sub</span> PerformAction<br />
<span class="kw1">On</span> <span class="kw1">Error</span> <span class="kw1">Resume</span> <span class="kw1">Next</span><br />
<span class="kw1">Dim</span> oCPAppletMgr, oClientAction, oClientActions</p>
<p><span class="kw1">Set</span>  oCPAppletMgr=CreateObject(<span class="st0">&quot;CPApplet.CPAppletMgr&quot;</span>)<br />
<span class="kw1">if</span> err.number &amp;lt;&amp;gt; 0 <span class="kw1">Then</span><br />
SendReport <span class="st0">&quot;Couldn&#8217;t create control panel application manager&quot;</span><br />
<span class="kw1">Exit</span> <span class="kw1">Sub</span><br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">Set</span> oClientActions=oCPAppletMgr.GetClientActions<br />
<span class="kw1">If</span> err.number&amp;lt;&amp;gt;0 <span class="kw1">Then</span><br />
SendReport <span class="st0">&quot;Couldn&#8217;t get the client actions&quot;</span><br />
<span class="kw1">Set</span> oCPAppletMgr=<span class="kw1">Nothing</span><br />
<span class="kw1">Exit</span> <span class="kw1">Sub</span><br />
<span class="kw1">End</span> <span class="kw1">If</span></p>
<p><span class="kw1">For</span> <span class="kw1">Each</span> oClientAction <span class="kw1">In</span> oClientActions<br />
<span class="co1">&#8216;WScript.echo oClientAction.name<br />
</span>oClientAction.PerformAction<br />
<span class="kw1">Next</span></p>
<p><span class="kw1">Set</span> oClientActions=<span class="kw1">Nothing</span><br />
<span class="kw1">Set</span> oCPAppletMgr=<span class="kw1">Nothing</span><br />
<span class="kw1">End</span> <span class="kw1">Sub</span></p>
<p><span class="kw1">Sub</span> SendReport (strMessage)<br />
<span class="kw1">Dim</span> objMessage<br />
<span class="kw1">Dim</span> WshShell</p>
<p><span class="kw1">Set</span> objMessage = CreateObject(<span class="st0">&quot;CDO.Message&quot;</span>)<br />
<span class="kw1">Set</span> WshShell = WScript.CreateObject(<span class="st0">&quot;WScript.Shell&quot;</span>)</p>
<p>ComputerName = WshShell.ExpandEnvironmentStrings(<span class="st0">&quot;%COMPUTERNAME%&quot;</span>)</p>
<p>objMessage.Subject = <span class="st0">&quot;SCCM Client Installation report&quot;</span><br />
objMessage.From = <span class="st0">&quot;sccm.installer@domain.com&quot;</span><br />
objMessage.<span class="kw1">To</span> = <span class="st0">&quot;SCCMAdministrators@domain.com&quot;</span></p>
<p>objMessage.TextBody = <span class="st0">&quot;ComputerName is &quot;</span> &amp;amp; ComputerName &amp;amp; CHR(13) _<br />
&amp;amp; <span class="st0">&quot;OS Version: &quot;</span> &amp;amp; GetOSSP &amp;amp; CHR(13) _<br />
&amp;amp; strMessage _<br />
&amp;amp; CHR(13) &amp;amp; CHR(13) &amp;amp; <span class="st0">&quot;For Details please visit http://wiki/index.php/SCCM_Installer &quot;</span> _<br />
&amp;amp; CHR(13) &amp;amp; CHR(13) &amp;amp; <span class="st0">&quot;Best regards &quot;</span> _<br />
&amp;amp; CHR(13) &amp;amp; <span class="st0">&quot;SCCMInstaller Service user.&quot;</span></p>
<p>objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;</span>) = 2<br />
objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;</span>) = <span class="st0">&quot;192.168.100.10&quot;</span><br />
objMessage.Configuration.Fields.Item (<span class="st0">&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;</span>) = 25</p>
<p>objMessage.Configuration.Fields.Update</p>
<p>objMessage.Send<br />
<span class="kw1">End</span> <span class="kw1">Sub</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2009/09/sccm-install-agents-via-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

