Archive for October, 2009

[SCCM SP2] Como fazer o upgrade?

Friday, October 23rd, 2009

Antes de fazer o upgrade para o SP2, veja o que vc precisa saber e como proceder

http://technet.microsoft.com/en-us/library/ee344152.aspx

[SCCM SP2] Upgrade Path

Friday, October 23rd, 2009

Pensando em fazer o upgrade da infra-estrutura para o SP2? Saiba se isso serah suportado ou nao.

Mais informacoes em http://technet.microsoft.com/en-us/library/ee344318.aspx

SCCM SP2

Thursday, October 22nd, 2009

SCCM SP2 jah esta disponivel..

Mais informacoes e download em http://www.microsoft.com/downloads/details.aspx?familyid=3318741A-C038-4AB1-852A-E9C13F8A8140&displaylang=en

[Tools] Documentando a infra-estrutura do SCCM

Wednesday, October 21st, 2009

Foi liberado uma versao beta do SCCMAutodoc.

O SCCMAutoDoc tem por objetivo fazer a documentacao de forma automatica do SCCM…vale a pena conferir

Mais informacoes em http://blogcastrepository.com/blogs/kim_oppalfenss_systems_management_ideas/archive/2009/10/21/sccmautodoc-goes-beta1.aspx

[DICA] Tamanho do Profile atraves do Inventario de Hardware

Wednesday, October 21st, 2009

Algum tempo atras particiei de 1 projeto onde precisavamos saber o tamanho do perfil do usuario antes de fazermos a migracao de Windows XP para Vista devido a limitacao de espaco em disco no State Migration Point.

No ambiente desta empresa, o usuario soh podia gravar as informacoes dentro do profile (que normalmente eh C:\document and settings no windows XP), com isso, fizemos 1 script vbs para capturar essa informacao e gravar no registro e apos isso, fizemos alteracoes no sms_def.mof e configuration.mof para a captura…

caso esteja passando pelo mesmo problema, segue abaixo conteudo dos arquivos:

——-INICIO PROFILESIZE.VBS—–
Function GetFolderSize(AFolder)
set oFS = WScript.CreateObject(“Scripting.FileSystemObject”)
set oFolder = oFS.GetFolder(AFolder)

lReturn = Round(oFolder.Size / 1024 / 1024, 0) & ” MB”
set oFS = nothing
set oFolder = nothing

GetFolderSize = CStr(lReturn)
End Function

Sub SetRegistry(ARegistry, SID, Value, UserName)
Dim SysVarReg

Set SysVarReg = WScript.CreateObject(“WScript.Shell”)

SysVarReg.RegWrite ARegistry & SID & “\Size”, Value, “REG_SZ”
SysVarReg.RegWrite ARegistry & SID & “\UserName”, userName, “REG_SZ”
Set sysVarReg = nothing
End Sub

‘On Error Resume Next

Const HKEY_LOCAL_MACHINE = &H80000002

strProfileSize = “HKLM\Software\ProfileSize”
strRegistry = “ProfileSize”
strComputer = “.”

Set objRegistry=GetObject(“winmgmts:\\” & _
strComputer & “\root\default:StdRegProv”)

strKeyPath = “SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList”
objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys

For Each objSubkey In arrSubkeys
strValueName = “ProfileImagePath”
strSubPath = strKeyPath & “\” & objSubkey
objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE,strSubPath,strValueName,strValue
username=Split(strValue, “\”, -1, 1)
sUserName = Lcase(username(UBound(username)))
if not ((sUserName = “systemprofile”) or (sUserName = “localservice”) or (sUserName = “networkservice”)) then
SetRegistry strProfileSize & “\” , objSubkey, GetFolderSize(strValue), sUserName
‘Wscript.Echo username(UBound(username)) & ” – ” & GetFolderSize(strValue)
end if
Next
——-FIM PROFILESIZE.VBS—–

——INICIO CONFIGURATION.MOF—-
#pragma namespace(“\\\\.\\root\\cimv2″)

[ dynamic,

provider("RegProv"),

ClassContext("local|HKEY_LOCAL_MACHINE\\Software\\ProfileSize")

]

class DNW_ProfileSize

{

[Key] string UserID;
[PropertyContext("Size")] string Size;
[PropertyContext("UserName")] string UserName;

};
——-FIM CONFIGURATION.MOF———-

—–INICIO SMS_DEF.MOF—–
#pragma namespace (“\\\\.\\root\\cimv2\\sms”)

[ SMS_Report (TRUE),

SMS_Group_Name ("Profile Size"),

SMS_Class_ID ("MICROSOFT|DNW_ProfileSize|1.0") ]

class DNW_ProfileSize : SMS_Class_Template

{

[SMS_Report (TRUE), Key ] string UserID;
[SMS_Report (TRUE)] string Size;
[SMS_Report (TRUE)] string UserName;

};
—–FIM SMS_DEF.MOF———-

depois eh soh abrir o resouce explorer e ver as informacoes coletadas

ProfileSize

pode-se tbem criar relatorios, um exemplo seria usando a query abaixo:
SELECT v_R_System.Netbios_Name0, v_GS_DNW_PROFILESIZE.UserID0, v_GS_DNW_PROFILESIZE.UserName0, v_GS_DNW_PROFILESIZE.Size0
FROM v_R_System INNER JOIN v_GS_DNW_PROFILESIZE ON v_R_System.ResourceID = v_GS_DNW_PROFILESIZE.ResourceID
order by v_GS_DNW_PROFILESIZE.UserID0