Shaun Cassells at MyITForum.com

SMS 2003 and ConfigMgr 2007, PowerShell, Scripting, Finance, Fitness and Fun
Disk Partition Alignment Best Practices for SQL Server
Disk partition alignment is a powerful tool for improving SQL Server performance. Configuring optimal disk performance is often viewed as much art as science. A best practice that is essential yet often overlooked is disk partition alignment. Windows Server 2008 attempts to align new partitions out-of-the-box, yet disk partition alignment remains a relevant technology for partitions created on prior versions of Windows.This paper documents performance for aligned and nonaligned storage and why nonaligned partitions can negatively impact I/O performance; it explains disk partition alignment for storage configured on Windows Server 2003, including analysis, diagnosis, and remediation; and it describes how Windows Server 2008 attempts to remedy challenges related to partition alignment for new partitions yet does not correct the configuration of preexisting partitions.The following topics are also included: background information, implementation, vendor considerations, two essential correlations, valid starting partition offsets, and the simple protocol to align partitions, define file allocation unit size, and assign drive letters. It includes results from tests that show how partition alignment can affect performance for SQL Server 2008.For more information, please refer to the Disk Partition Alignment Best Practices for SQL Server whitepaper

source: Bink.nu

Posted: May 12 2009, 09:39 AM by scassells | with no comments
Filed under:
Windows 7 Certification Training: 071-680
Today, Stephen Rose, Sr. Community Manager at Microsoft announced the availability of the Windows 7 Learning Portal.  This site is currently showcasing great IT Pro readiness content, including 7 Silverlight Learning Snacks, free sample chapters from upcoming MS Press Books, Learning Plans, links to clinics/HOLs and more. The portal can be found at http://www.microsoft.com/learning/windows-7/default.mspx Also, check out the free 2-hour eLearning Clinic called What’s New in Windows 7 for IT Professionals.

 

Posted: May 07 2009, 10:46 AM by scassells | with no comments
Filed under:
3 methods to open a System Context command prompt

I was reading Chris Nackers post here: NT Authority Context Command Prompt

When it got me thinking of different ways to elevate your rights; I came up with two more:

  • 1) Using the system scheduled to launch a command prompt
    • a. at 16:30 /interactive cmd.exe
    • b. change the time to something soon
  • 2) SysInternals psexec
    • a. Psexec -s cmd.exe
    • b. Works great at opening as system on a remote machine too

Can you suggest any other quick methods?

Clearing a Client Cache and PowerShell

Recently we had a bad package deployment that was precached.  Now we need to delete the bad file while excluding Office 2007 and Office 2003 files if they are present:

 1)       Delete everything script from Tim Minter on error resume next

dim oUIResManager
dim oCache
dim oCacheElement
dim oCacheElements

set oUIResManager = createobject("UIResource.UIResourceMgr")

if oUIResManager is nothing then
      wscript.echo "Couldn't create Resource Manager - quitting"
      wscript.quit
end if

set oCache=oUIResManager.GetCacheInfo()

if oCache is nothing then
      set oUIResManager=nothing
      wscript.echo "Couldn't get cache info - quitting"
      wscript.quit
end if

set oCacheElements=oCache.GetCacheElements

for each oCacheElement in oCacheElements
                oCache.DeleteCacheElement(oCacheElement.CacheElementID)
next

set oCacheElements=nothing
set oUIResManager=nothing
set oCache=nothing
 

2)       Delete a specific object

a.        This would require a modification of the script above to delete the correct package ID.

b.       Add input of package ID to exclude.  Add test in the for each section to exclude that packageid that matched the ContentID

 

For fun here is how you would list the cache in powershell

((New-Object -comobject UIResource.UIResourceMgr).getcacheInfo()).GetCacheElements()  

A background on the automation of the client cache : http://support.microsoft.com/kb/839513

Translation:

When a package is downloaded to the advanced client cache the client agent places a lock on the package and the lock is not removed until a day later (24 hours) after the program is executed or a month (30 Days) if the package has not be executed. When the lock is removed from the package a day or a month later depending in the circumstance it cannot be re-locked until it is removed from the client cache and downloaded again.

 

When your packages need to be downloaded locally to the advanced client and the cache is full or lacks sufficient free space to accommodate the download the client will enumerate the packages in the cache if any exist and attempt to determine if the existing packages in the cache have already executed and the allotted 24 hours has not yet passed. If it finds packages where this is the case the agent then deletes them to allow more free space and then attempts to download the package again. On the second attempt to download the package if there is now sufficient free space remaining the package is downloaded to be executed.

 

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

Windows 7 Beta Certification Exam 071-680

Read Test Announcement here:

http://blogs.technet.com/betaexams/archive/2009/04/15/register-for-beta-exam-71-680-ts-windows-7-configuring.aspx

Read about Exam development here:

http://blogs.technet.com/mslcommunity/archive/2009/03/25/sneak-peek-at-windows-7-exam-development.aspx

Test Prep here:

http://www.microsoft.com/learning/en/us/exams/70-680.aspx

  Registration begins: April 27, 2009  You are invited to take beta exam 71-680: TS: Windows 7, Configuring. If you pass the beta exam, the exam credit will be added to your transcript and you will not need to take the exam in its released form. The 71-xxx identifier is used for registering for beta versions of MCP exams, when the exam is released in its final form the 70-xxx identifier is used for registration.

By participating in beta exams, you have the opportunity to provide the Microsoft Certification program with feedback about exam content, which is integral to development of exams in their released version. We depend on the contributions of experienced IT professionals and developers as we continually improve exam content and maintain the value of Microsoft certifications.
 71-680: TS: Windows 7, Configuring counts as credit towards the following certification(s).·          MCTS: Windows 7, Configuration

AvailabilityRegistration begins: April 27, 2009Beta exam period runs: May 5, 2009– May 18, 2009 Receiving this invitation does not guarantee you a seat in the beta; we recommend that you register immediately! Beta exams have limited availability and are operated under a first-come-first-served basis. Once all beta slots are filled, no additional seats will be offered.
Testing is held at Prometric testing centers worldwide, although this exam may not be available in all countries (see Regional Restrictions).  All testing centers will have the capability to offer this exam in its live version.
 Regional Restrictions: India, Pakistan, China

Registration InformationYou must register at least 24 hours prior to taking the exam.
Please use the following promotional code when registering for the exam: WIN7J

Receiving this invitation does not guarantee you a seat in the beta; we recommend that you register immediately.

To register in North America, please call:

Prometric: (800) 755-EXAM (800-755-3926)
Outside the U.S./Canada, please contact:

Prometric: http://www.register.prometric.com/ClientInformation.asp

Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.

Posted: Apr 24 2009, 03:43 PM by scassells | with no comments
Filed under:
What kind of leader are you?

On a personal note, I have been looking for good strong leaders recently.  I am looking for a mentor.  Randomly I recieved this email today.  Simple parables always make me smile.  I hope you enjoy.

 

=>  1.  The leader as SERVER

Brother Leo is a good example.  As the legend goes, he was well-known throughout Europe because of his extraordinary leadership.  So people wanted to meet him.

One day several monks began a pilgrimage to visit Brother Leo to learn from him. Almost immediately, the monks began to bicker as to who should do various chores. On the third day they met another monk who was also going to the monastery.

This monk never complained or shirked a duty. Whenever the others would fight over a chore, he would gracefully volunteer to do it himself. By the last day, the other monks were following his example, and everyone worked together smoothly.

When they reached the monastery and asked to see Brother Leo, the man who greeted them laughed. "But our brother is among you!" pointing to the fellow who had joined them late in the trip.

As Michael Josephson points out, "The parable about Brother Leo teaches another model of leadership, where leaders are more preoccupied with serving than being followed, with giving than getting, with doing than demanding. It's leadership based on example, not command. It's called servant leadership.  Can you imagine how much better things would be if more politicians, educators, and business executives saw themselves as servant leaders?"

Absolutely!  I can imagine that, and hopefully you can too.  If you're ever going to be an effective, respected, inspiring leader of a company, team, or family, you've got to focus more on how you can serve others than how they can serve you.

And then, you must also learn to be ...



=>  2. The leader as GIVER

I suppose that's why everybody loves Santa Claus.  Santa's a giver, and when he's out there giving, there's a certain spirit in the air.  Just about everyone seems to feel better and do better.  The spirit is a bit contagious.

That's why I like the anonymous story of ... "The Grandmother And Her Grandson."  I don't know who wrote it ... despite all my research ... but the story makes an extremely valid point ... that when one person starts leading by giving ... others join in.

Notice how the leading starts with Grandma but goes on to touch the store clerk, the grandson, the recipient, and who knows who else.  Here's the story.



"The Grandmother And Her Grandson"

I remember my first Christmas adventure with Grandma. I was just a kid. I remember tearing across town on my bike to visit her on the day my big sister dropped the bomb: "There is no Santa Claus," she jeered. "Even dummies know that!"

My Grandma was not the gushy kind, never had been. I fled to her that day because I knew she would be straight with me. I knew Grandma always told the truth, and I knew that the truth always went down a whole lot easier when swallowed with one of her "world-famous" cinnamon buns. I knew they were world-famous, because  Grandma said so. It had to be true.

Grandma was home, and the buns were still warm. Between bites, I told her everything. She was ready for me. "No Santa Claus?" she snorted. "Ridiculous! Don't believe it. That rumor has been going around for years, and it makes me mad, plain mad!! Now, put on your coat, and let's go."

"Go? Go where, Grandma?" I asked. I hadn't even finished my second World-famous cinnamon bun. "Where" turned out to be Kerby's General Store, the one store in town that had a little bit of just about everything.

As we walked through its doors, Grandma handed me ten dollars. That was a bundle in those days. "Take this money," she said, "and buy Something for someone who needs it. I'll wait for you in the car." Then she turned and walked out of Kerby's.

I was only eight years old. I'd often gone shopping with my mother, but never had I shopped for anything all by myself. The store seemed big and crowded, full of people scrambling to finish their Christmas shopping.

For a few moments I just stood there, confused, clutching that ten-dollar bill, wondering what to buy, and who on earth to buy it for.  I thought of everybody I knew: my family, my friends, my neighbors, the kids at school, the people who went to my church. I was just about thought out, when I suddenly thought of Bobby Decker. He was a kid with bad breath and messy hair, and he sat right behind me in Mrs. Pollock's grade-two class.

Bobby Decker didn't have a coat. I knew that because he never went out to recess during the winter. His mother always wrote a note, telling the teacher that he had a cough, but all we kids knew that Bobby Decker didn't have a cough; he didn't have a good coat. I fingered the ten-dollar bill with growing excitement. I would buy Bobby Decker a coat!

I settled on a red corduroy one that had a hood to it. It looked real warm, and he would like that. "Is this a Christmas present for someone?" the lady behind the counter asked kindly, as I laid my ten dollars down. "Yes, ma'am," I replied shyly. "It's for Bobby."  The nice lady smiled at me, as I told her about how Bobby really needed a good winter coat. I didn't get any change, but she put the coat in a bag, smiled again, and wished me a Merry Christmas.

That evening, Grandma helped me wrap the coat (a little tag fell out of the coat, and Grandma tucked it in her Bible) in Christmas paper and ribbons and wrote, "To Bobby, From Santa Claus" on it.

Grandma said that Santa always insisted on secrecy. Then she drove me over to Bobby Decker's house, explaining as we went that I was now and forever, officially, one of Santa's helpers.

Grandma parked down the street from Bobby's house, and she and I crept noiselessly and hid in the bushes by his front walk. Then Grandma gave me a nudge. "All right, Santa Claus," she whispered, "get going."  I took a deep breath, dashed for his front door, threw the present down on his step, pounded his door and flew back to the safety of the bushes and Grandma.

Together we waited breathlessly in the darkness for the front door to open. Finally it did, and there stood Bobby.

Fifty years haven't dimmed the thrill of those moments spent shivering, beside my Grandma, in Bobby Decker's bushes. That night, I realized that those awful rumors about Santa Claus were just what Grandma said they were ... ridiculous. Santa was alive and well, and we were on his team.

I still have the Bible, with the coat tag tucked inside: $19.95.



Action Item:

Take a moment to reflect on your leadership style on the job or at home.  Would people describe you as more of a "giver" or a "taker?"  For your own happiness ... as well as the success of your endeavor ... I hope everyone would describe you as more of "giver."

Posted: Apr 15 2009, 02:29 PM by scassells | with no comments
Filed under: ,
SMS 2003 Client Health Startup Script v4.19

A few bug fixes.

Thanks very much to Hector Cortez: http://myitforum.com/cs2/blogs/hcortez/default.aspx

Version 4.19: http://myitforum.com/cs2/blogs/scassells/Public_SMS_CLIFIX_4.19.vbs.txt

Orginal Article: http://myitforum.com/cs2/blogs/scassells/archive/2009/01/28/sms-2003-client-health-startup-script-v4-18.aspx

Marriott Rewards: Not So Rewarding

While traveling in Europe with my Fiancée we spent a night in Brussels. I booked a hotel at the train station through priceline.com for the Marriott Renaissance.  Nice place, poor location for a tourist. http://www.marriott.com/hotels/travel/brubr-renaissance-brussels-hotel/

 

Today when I tried to fill out a Marriott Rewards Missing stay request I learned that Marriott will not honor a stay for points if you do not book through the Marriott.com website.  Anyone else think this is bad customer service?

 

Fun part is I was just asked to fill out a few surveys about Marriott.  Gee, I wonder what my review will say.

 

Unhappy Customer. 

Posted: Apr 03 2009, 11:22 AM by scassells | with 1 comment(s)
Filed under:
Windows Update Agent – SMS 2003 SP2 or SP3 - Reporting

The Windows Update Agent (WUA) has a lot of versions floating around.  The newest is

WUA 3.0 version 7.2.6001.788

 

Who ever came up with this naming standard needs to have their head examined.  Is it 3.0 or 7.2?  Yes!?!?!

 

Several Key reasons to upgrade namely:

http://support.microsoft.com/kb/916089

http://support.microsoft.com/kb/927891

 

Okay cool.  I also notice that in the SMS_Def.mof there is a class to track WUA version.  Except that it does not work.  The fix is here: http://support.microsoft.com/kb/940182

 

!!!Warning!!! There is a typo in the fix.  At the end of step 4 there is a curly brace semicolon - }; - missing. 

  

Good news, you don’t have to do the fix if you have Software Inventory (SINV) running in at least the default settings.  SINV default settings include tracking all *.exe files.  This means you can query on the WUAuclt.exe file name.

 

Try this query: (watch out for word wrap)

 SELECT     dbo.vSMS_G_System_SoftwareFile.FileName, dbo.vSMS_G_System_SoftwareFile.FileDescription, dbo.vSMS_G_System_SoftwareFile.FileVersion,
                      dbo.vSMS_G_System_SoftwareFile.FileSize, dbo.vSMS_G_System_SoftwareFile.ModifiedDate, dbo.vSMS_G_System_SoftwareFile.FilePath,
                      dbo.vSMS_G_System_SoftwareFile.FileModifiedDate, dbo.v_R_System.Name0, dbo.v_R_System.User_Domain0, dbo.v_R_System.User_Name0
FROM         dbo.vSMS_G_System_SoftwareFile INNER JOIN
                      dbo.v_R_System ON dbo.vSMS_G_System_SoftwareFile.ClientId = dbo.v_R_System.ResourceID
WHERE     (dbo.vSMS_G_System_SoftwareFile.FileName IN ('wuauclt.exe', 'wuauclt1.exe')) AND
                      (dbo.vSMS_G_System_SoftwareFile.FilePath = 'c:\windows\system32\')
 

Update for SMS 2003 - SP3 from MeenEnta

SELECT dbo.v_GS_SoftwareFile.FileName, dbo.v_GS_SoftwareFile.FileDescription,
dbo.v_GS_SoftwareFile.FileVersion,
dbo.v_GS_SoftwareFile.FileSize,
dbo.v_GS_SoftwareFile.ModifiedDate,
dbo.v_GS_SoftwareFile.FilePath,
dbo.v_R_System.Name0,
dbo.v_R_System.User_Domain0, dbo.v_R_System.User_Name0
FROM dbo.v_GS_SoftwareFile INNER JOIN dbo.v_R_System ON dbo.v_GS_SoftwareFile.ResourceID = dbo.v_R_System.ResourceID
WHERE (dbo.v_GS_SoftwareFile.FileName IN ('wuauclt.exe')) AND (dbo.v_GS_SoftwareFile.FilePath = 'c:\windows\system32\')
Order by dbo.v_GS_SoftwareFile.FileVersion, dbo.v_R_System.Name0

Another WMI QUery

select *  from  SMS_R_System inner join SMS_G_System_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion = "Microsoft Windows NT Workstation 5.1" and SMS_G_System_SoftwareFile.FileName = "wuauclt.exe" and SMS_G_System_SoftwareFile.FilePath = "C:\\windows\\system32\\" and SMS_G_System_SoftwareFile.FileVersion < "7.2.6001.788"

 

Posted: Mar 02 2009, 02:52 PM by scassells | with no comments
Filed under: , , ,
Add WBEM to Path

The following script will add %systemroot%;%systemroot%\system32;%systemroot%\system32\wbem to the environment path of a remote computer passed.  However, this utilizes WMI to do the remote connect.  There are other options to do remote administration.. or good ole psexec from www.sysinternals.com

 <careful of line wrap>

'==========================================================================
'
' NAME: AddWbemToPath.vbs
'
'
' COMMENT: Adds "%systemroot%;%systemroot%\system32;%systemroot%\system32\wbem"
'   to the environment path of the remote computer passed to this
'   script.
'   Example commandline: AddWbemToPath.vbs Computername
'
'==========================================================================
On Error Resume Next

'Define Variables
Const HKEY_LOCAL_MACHINE = &H80000002
strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
strValueName = "Path"
strVarSysRoot = "%SYSTEMROOT%"
strSysRoot = "C:\WINDOWS"
strSystem32 = "\SYSTEM32"
strwbem = "\WBEM"
bRoot = False
bSys32 = False
bWBEM = False

'=======================
'Process Arguement
Set objArgs = WScript.Arguments
If objArgs.count = 1 Then
 strComputer = objArgs(0)
Else
 WScript.Quit 160
End If


'=======================
'Connect to WMI Registry
'=======================
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_
    strComputer & "\root\default:StdRegProv")

If Err.Number <> 0 Then
 WScript.Quit Err.Number
End If

'=======================
'Get Path
'=======================
Return = objReg.GetExpandedStringValue(HKEY_LOCAL_MACHINE,_
    strKeyPath,strValueName,strValue)
If (Return = 0) And (Err.Number = 0) Then  
 If strValue <> "" Then
'Remove Trailing Semicolon and assign value to Current Path Variable
  strCheck = Mid(strValue,Len(strValue))
  If strCheck = ";" Then
   strCurPath=Mid(strValue,1,Len(strValue)-1)
  Else
   strCurPath = strValue
  End If
 Else
  WScript.Quit 3
 End If
Else
    WScript.Quit Err.Number
End If

'=======================
'Manipulate Path
'=======================
arrPath = Split(strCurPath,";")
Set objDict = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(arrPath)
 strPath = arrPath(i)

'Remove trailing slash
If strPath <> "" Then
 checkSlash = Mid(strPath,Len(strpath))
 If checkSlash = "\" Then strPath=Mid(strPath,1,Len(strpath)-1)
End If

'Add to dictionary
 objDict.Add i, UCase(strPath)
Next
iLastEntry = UBound(arrPath)

'Check current Path
For Each item In objDict
 If (objDict(item)=strVarSysRoot) Or (objDict(item)=strSysRoot) Then
  bRoot = True
 End If
 If (objDict(item)=strVarSysRoot & strSystem32) Or (objDict(item)=strSysRoot & strSystem32) Then
  bSys32 = True
 End If
 If (objDict(item)=strVarSysRoot & strSystem32 & strwbem) Or (objDict(item)=strSysRoot & strSystem32 & strwbem) Then
  bWBEM = True
 End If
Next

'Update Dictionary
If bRoot=False Then
 iLastEntry = iLastEntry + 1
 objDict.Add iLastEntry, UCase(strVarSysRoot)
End If
If bSys32=False Then
 iLastEntry = iLastEntry + 1
 objDict.Add iLastEntry, UCase(strVarSysRoot & strSystem32)
End If
If bWBEM = False Then
 iLastEntry = iLastEntry + 1
 objDict.Add iLastEntry, UCase(strVarSysRoot & strSystem32 & strwbem)
End If

'Compile new path string
For Each item In objDict
 If objDict(item) <> "" Then strNewPath = strNewPath & ";" & objDict(item)
Next
strNewPath = Mid(strNewPath,2,Len(strNewPath)-1) & ";"

'=======================
'Set Path
'=======================
strValue = strNewPath

If bRoot And bSys32 And bWBEM Then
 Wscript.Echo "No Path Change"
 WScript.Quit 0
Else
' Write expanded string value
 Wscript.Echo strValue
 Return = objReg.SetExpandedStringValue( _
     HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue)
 If (Return = 0) And (Err.Number = 0) Then  
     WScript.Quit 3010
 Else
     WScript.Quit Err.Number
 End If
End If

WScript.Quit Err.Number

SMS 2003 Client Health Startup Script v4.18

Script updated:  http://myitforum.com/cs2/blogs/scassells/archive/2009/04/14/sms-2003-client-health-startup-script-v4-19.aspx 

 

Below is a listing of features in a reworked version of Dudeworks (Thanks Rob and Brian), 1E, et al. (see bottom for longer list) start up scripts.  I recently became aware of Chris Stauffers Client Health Checker v1.2.   My script focuses on workstation health, Chris’ focuses on SMS health.  It is my hope in 2009 to combine these two if it seems intelligent to do.  Hopefully we can have this all together in early 2009.  Be great to present and then for everyone to tear apart at MMS... anything is possible. 

Reminder: this is not finalized.  It takes a community. Please feel free to post updates in the forums.

Overview

Workstation Client Health maintenance is a continuous process that must be maintained.  The following document gives an overview on how to fix several common workstation issues. 

CliFix GPO startup script

In an effort to reduce the amount of common workstation issues I have developed a script to check and change the following common issues.  This script is to be run via GPO startup scripts.  This requires the script to work as the system account and have intranet connectivity.  Both are accomplished by running as a GPO. Script Requirements
  1. Script must be in a location where the computers system account has access.  Usually on your domain controller ex. \\FQDNDomain\sysvol\ FQDNDomain\
  2. sc.exe must be present for full successful run. 
    1. Either in the run path
    2. system32
    3. system32\DLLCache
    4. Note: there are multiple versions floating around in the average environment
  3. regsvr32.exe needs to be present
  4. %systemroot%\system32 needs to be in system path
 

Script Settings

All, unless I missed some, sections of the script can be turned on and off in the top of the script.  Please review the script as some features will fail without modification.

Please Review the following CONFIG SETTINGS Variables:

  • SMSVersion
  • ConfigMgrVersion
  • WKS_ASSIGNSITECODE
  • WKS_CacheSize
  • WKS_LocalAdminGroup
  • WKS_admACCT
  • RegPath
  • strWebAddress
  • StrCCRServer
  • strCCRSiteCode
  • CCMSetUP

What the Script Does

  1. Checks to make sure the script has not run in X many hours. 
    1. Example if X = 12 the script will not run again until at least 12 hours after the last occurrence. 
    2. This will prevent a slow down on multiple reboots.
  2. Sets DCOM permissions to be correct for SMS / SCCM configuration
  3. Checks to make sure System Path has the 3 required windows paths enabled. (does NOT use WMI or require a restart to change values)
    1. C:\windows
    2. C:\windows\sysetm32
    3. C:\windows\system32\wbem
    4. Also removes %systemroot% from path replacing it with correct full path value
    5. If one of the 3 paths is missing, it will parse the full path removing duplicates and adding a,b,or c to the beginning of the path statement leaving all else unchanged.
  4. Check to see if sc.exe exists in the run from directory and if not in the system32 directory
  5. Checks to see if this script is run on a workstation or server.  If a server kills the script
  6. Checks to make sure the correct local admin group is present (value is set in header of script)
  7. Checks WMI service to see if it is set to auto and running.  If not executes sc.exe to start the service.
  8. Attempts to connect to WMI object
  9. If the WMI object connect fails
    1. Attempt to do a repair (if no previous status is present in the registry and approved via script switches)
    2. Attempt to do a rebuild (if ‘repair’ status is present in the registry and approved via script switches)
    3. If both the above have failed then do nothing and report major error
  10. Checks to see if Admin$ is present, if not forces existence via WMI
  11. Checks to see if msxml3.dll is registered, if not forces existence via WSH
  12. Checks to see if Qmgr.dll and qmgrprxy.dll are registered, if not forces existence via WSH
  13. Checks to see if OLEAut32.dll is registered, if not forces existence via WSH
  14. Checks to make sure the following services are set to appropriate Status and Mode
    1. RPC
    2. WMI
    3. Firewall/ICS
    4. Server Service
    5. Remote Registry
    6. BITS
    7. Windows Update Services
    8. Terminal Services
    9. Windows Installer
    10. Note: You may want to review the settings for your environment on each of these services.  All of the above services are set to default and either Manual or Automatic.
  15. Check the SMS version
  16. Checks the CCMExec service
  17. If SMS is not correct version can be forced to do an install
    1. Needs Review
  18. If the all of the above test passed without issue you have a healthy workstation.  The following two checks are for SMS.
    1. Check log file last update time.  If the PolicyEvaluator.log file has not been modified in past 14 days do a repair of the client.
    2. Check client assignment.  If no assignment set new site code based on AD boundaries in which the client is present.
      1. Note: Some people may want to disable this as it relies on AD
  19. If any fixes above had to be preformed
    1. Check the advanced client state.  Which client policies have enabled.
    2. Check the cache size
    3. Send a Client Configuration Request (CCR) to have client installed
    4. Run CCMSetup from the install share on the server.
 Note during this script several forms of reporting, logging, and information submitting have been preformed.  The standard methods of reporting are: 
  • Event log
  • Log file in the %temp% directory for the account used to run
    • GPO = C:\windows\temp
  • Reporting to a website that submits client status to a SQL table.
    • Future WebPost on how to do this 
Other verbose methods include:·        Two levels of command line reportingo       Log to Command lineo       Verbose to command line·        network share copy 

Future Additions:

Area's that need improvement

References:

·         MyITForum Forum: http://www.myitforum.com/forums/tm.asp?m=107044 ·         1E: www.1e.com ·         Chris Stauffers soon to be reviewed: http://myitforum.com/cs2/blogs/cstauffer/archive/2008/06/13/client-health-check-script-and-scheduled-task-version-1-1-release.aspx ·         Brian Mason: Original Author of CliFix ·         Rob Olson: Original Author of CliFix at www.dudeworks.com ·         Greg Ramsey: http://myitforum.com/cs2/blogs/gramsey/ ·         Steve Pruitt: http://myitforum.com/cs2/blogs/spruitt/ ·         And the MSSMS list http://www.myitforum.com

 

 

Script v4.18: REMOVED.  v4.19

http://myitforum.com/cs2/blogs/scassells/archive/2009/04/14/sms-2003-client-health-startup-script-v4-19.aspx

 

hopefully it will be up on  www.dudeworks.com soon

Random Thought: How every American can save gas.

      As I was driving to the gym at 5 am Sunday morning, stopped at a red light with a sensor and no cars in any direction… I wondered how much gas is being wasted by poorly timed traffic lights or stop signs when they should be yield signs.  Think about how much gas you must use to go from a rest position to the correct speed on the road.  A lot.

 Then in a cynical way I realized that our local government would never change to improve as they are earning money from:
  • Gas Taxes
  • Traffic Tickets
  • Small town America forcing people to stop as they are the only light in the county
  • Costs money to city

What does that leave us? 

Time for a good idea to spread, improve traffic flow, be more intelligent, and do it right not fast and easy!

Query: HINV older than 15 days

SELECT dbo.v_R_System.Name0, dbo.v_GS_WORKSTATION_STATUS.LastHWScan

FROM dbo.v_GS_WORKSTATION_STATUS

INNER JOIN

dbo.v_R_System ON dbo.v_GS_WORKSTATION_STATUS.ResourceID = dbo.v_R_System.ResourceID

where datediff(day, dbo.v_GS_WORKSTATION_STATUS.LastHWScan, getdate()) > 15

 

Windows 7 does Boot Recovery caused by VPC 2007 Virtual Machine Additions

How Windows 7 does Boot Recovery

 

The following is based on Windows 7 Beta Build 7000

Follow the following steps to build a Microsoft Virtual PC to cause crashes.

 
  1. Using Microsoft Virtual PC 2007 (6.0.156.0) on a Windows XP SP2 machine
  2. Build a Windows 7 VM
  3. Base it on an Vista OS
  4. Once you have built you VM go to Actions >> Install or Update Virtual Machine Additions
  5. After you complete the install it will ask you to restart
  6. When you restart you will get the following BSOD
  
  1. The machine will restart again and the default option is to run a Startup Repair
  
  1. I choose to cancel the Automatic System Restore to see what happens.
  2. Another restart, BSOD, restart
  3. Then warns you that VM Additions are not installed

 

 

    11. Root Cause Found

 Root Cause Found:A recent driver installation or upgrade may be preventing the system from starting. Repair action: System RestoreResult: Cancelled Repair action: System files integrity check and repairResult: Failed. Error code = 0x490Time taken = 1219003ms 
  1. Advanced Recovery Options
  2. Asks for Keyboard Layout
  3. Login and password
  
  1. Select System Restore
  2. Navigate to the last system restore before adding on Virtual Machine Additions
  3. System Restore Completes successfully and prompts for Restart
  4. Everything Works fine again.
 

One interesting note: There does not seem to be a specific event in the System Event Viewer.

 

This is an interesting Windows 7 repeatable crash recovery test.

 

Update: Brian Keller pointed out that the SP1 for Virtual Machine prevents this issue with the VM additions.  However, we are both curious how well the recovery will work in each of the following scenarios

  1. Machine user lacks admin rights
  2. GPO is set to disable System Check Points
  3. Enterprise administration to maintain homogenous environment
6gb SATA standard coming in Q2 of 2009

The folks behind the Serial ATA standard have been working on drafting a new, faster spec for a little while now, but it looks like things are finally starting to firm up, and SATA-IO marketing chair Conrad Maxwell now says that the new 6Gb/s standard is on track for release in the second quarter of this year.

That is twice as fast as the current spec and, according to Maxwell, it'll be backwards compatible with both the SATA-1.5Gb/s and SATA-3Gb/s specs. What's more, it's apparently also the group's intention to double the E-SATA spec to 6Gb/s as well, although no one seems to be making any promises on a date for that just yet. As a bit of a bonus, the group will apparently also be rolling out a new Power over ESATA spec (or ESATAp), which will allow 5 or 12 volts of power to be delivered via an ESATA connector

Looks like this is to exceed the USB 3.0 standard speeds.

What does that mean to me?  Looks like new storage drivers will be coming soon to a WIM near you. 

Source:http://www.pcworld.com/article/156535/ATA.html?tk=rss_news

 

Posted: Jan 07 2009, 02:00 PM by scassells | with no comments
Filed under: , ,
Software Install Review via the Add Remove Table

Software Install Review for Add Remove Table

I was reading Joe Funk’s Blog Post SMS Reports - Software Install Review.

I noticed he was using the v_GS_INSTALLED_SOFTWARE table which is included with Asset Intelligence features or ConfigMgr 2007.  For those of us who do not have access to that information or for those whose information is not populating.  I made a couple of changes so these reports can be run against the v_HS_ADD_REMOVE_PROGRAMS and v_GS_ADD_REMOVE_PROGRAMS tables

As always be aware of line wrap

Step 1 – Installdate0 Field

First thing I noticed is that in the v_GS_ADD_REMOVE_PROGRAMS table is that the values of InstallDate0 are the Wild West, from null to every format possible to convey some value.

Take a look at your own with this query:

SELECT DISTINCT InstallDate0
FROM         dbo.v_GS_ADD_REMOVE_PROGRAMS

Example output:

20071011
4/11/2008
Tue Sep 23 08:09:58 PDT 2008
20080108
20060510
2006-10-30 14:30:53
12-5-2006
1/7/2008

Step 2 – Filter out invalid dates

Used the following SQL code to only work with those with valid date times

((CASE ISDATE(INST.InstallDate0) WHEN 1 THEN CAST(INST.InstallDate0 AS DateTime) ELSE NULL END) 

Step 3 – Modify the Queries

Software Install review - Count, per application, of every install over past X days
'Currently Installed - This report contains only records for software that was installed (and remains installed) within the review period  still installed when the SMS client last checked'

Declare @days INT;
Set @days = 4;

SELECT     INST.DisplayName0 AS Product, COUNT(*) AS Count, @days AS 'Scope of software install review (days)'
FROM         dbo.v_GS_ADD_REMOVE_PROGRAMS AS INST INNER JOIN
                      dbo.v_R_System AS SYS ON SYS.ResourceID = INST.ResourceID
WHERE     ((CASE ISDATE(INST.InstallDate0) WHEN 1 THEN CAST(INST.InstallDate0 AS DateTime) ELSE NULL END) >= DATEADD(dd, - CONVERT(INT, @days),
                      CURRENT_TIMESTAMP))
GROUP BY INST.DisplayName0
ORDER BY COUNT DESC, INST.DisplayName0

'Historical - Uninstalled/Reinstalled - This report contains records of software that was installed within the review period but was since uninstalled or reinstalled'

Declare @days INT;
Set @days = 4;

SELECT     INSTHist.DisplayName0 AS Product, COUNT(*) AS Count, @days AS 'Scope of software install review (days)'
FROM         dbo.v_HS_ADD_REMOVE_PROGRAMS AS INSTHist INNER JOIN
                      dbo.v_R_System AS SYS ON SYS.ResourceID = INSTHist.ResourceID
WHERE     ((CASE ISDATE(INSTHist.InstallDate0) WHEN 1 THEN CAST(INSTHist.InstallDate0 AS DateTime) ELSE NULL END) >= DATEADD(dd, - CONVERT(INT, @days),
                      CURRENT_TIMESTAMP))
GROUP BY INSTHist.DisplayName0
ORDER BY COUNT DESC, INSTHist.DisplayName0


Next steps are to work on the values I ignored as well as values with a NULL install date.

Unique Time Lapse Art Video
I am not usually one to gush, but this is some cool art by Keith Loutit.
 
Helpless
http://vimeo.com/2482776
Metal Heart
http://vimeo.com/2317118
The North Wind Blew South
http://vimeo.com/1953467
Bathtub III
http://vimeo.com/1831024
 
 
Artist Source: http://keithloutit.com
 
Enjoy
Posted: Jan 06 2009, 09:35 AM by scassells | with no comments
Filed under:
8 Ways to Manipulate a Service

I have been working on a client health script and one of the key issues was how to configure a service.  There are two components of a service runtime that are most relevant at first, is it running? What the service set to do?  The following are the possible values:

  • Mode
    • Boot
    • System
    • Auto
    • Demand (Manual)
    • Disabled
  • Status
    • Running
    • Stopped
    • Pause
 

The major methods for controlling a service

  1. Control Panel
    1. The control panel provides you with a list of all services in the registry and control of each.
    2. Winkey + r >> services.msc
  2. Command Line: NET
    1. The command line of NET has a limitation of only modifying the status of services.  It cannot change the Mode.
    2. Winkey + r >> cmd
    3. NET Start lists running services.
    4. When typed at the command prompt, service names of two words or more must be enclosed in quotation marks. For example, NET START "NET LOGON" starts the net logon service.
  3. SC.exe
    1. Service Control is a command line executable.
    2. There are multiple versions of SC.exe.

                                                               i.      Windows 2000 server pack came with 4.0.1371.1

                                                             ii.      Windows XP came with 5.1.2600.0

1.      Note this is windows version not file version

2.      %systemroot%\system32\sc.exe

                                                            iii.      Visual Studio 2005 came with version 5.00.2134.1

1.      This looks to be the same as the Windows XP version

2.      C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt\

    1. SC can gather information, change status and mode, security (SDSET), create and delete
    2. http://msdn.microsoft.com/en-us/library/ms810435.aspx
  1. PsService.exe
    1. All the same functionality as SC.exe plus:

                                                               i.      Allows you to control a service on a remote machine with a different account. 

                                                             ii.      Service Search which identifies active instances of a service on your network. 

                                                            iii.      Works on NT4 à Windows 7.

    1. Tip: to prevent the EULA from popping up use the switch: -accepteula
    2. http://technet.microsoft.com/en-us/sysinternals/bb897542.aspx
  1. Registry
    1. Another interesting thing I ran across was you can determine the status of a service from the registry.  Through you could not change the status via the registry.  If you do change the value only services.msc would displayed a difference.
                                                               i.      HKLM\SYSTEM\CurrentControlSet\Services\
    1. This was extremely useful in determining if WMI was running on a box without attempting to create a WMI object
  1. ADSI
    1. See the code snippet at the article entitled Start a Service via ADSI
    2. http://myitforum.com/cs2/blogs/scassells/archive/2008/12/12/start-a-service-via-adsi.aspx
  2. PowerShell
    1. PowerShell Makes it Easy to grab and manipulate WMI objects
    2. Example useful commands
                                                               i.      Get-Service

1.      Display all the member functions possible by:

2.      Get-service | gm                                                              ii.      Stop-Service                                                            iii.      Start-Service
  1. WMI Section
    1. You can modify the Win32_Services class in WMI.  
    2. The namespace is root\cimv2.

                                                               i.      There are no proceeding or trailing slash on the namespace

                                                             ii.      If you are connecting to a remote computer you will have a double slash before the computer name and slash between the computer name and namespace

1.      \\ComputerName\root\cimv2

    1. You can use CIM Studio to change the values directly

                                                               i.      http://myitforum.com/cs2/blogs/scassells/archive/2008/06/06/how-to-find-the-sms-or-configmgr-namespace-in-wmi.aspx

    1. You can use VB script to connect to a WMI provider and change the service
    2. Or you can connect to WMI via PowerShell very easily. The following code snippet will list the Name, State, Mode, and start name. (careful of word wrap – all on one line)
                                                               i.      Get-WmiObject -class Win32_Service | Select-Object -property name, state, startmode, startname | Sort-Object -property startmode, state, name | Format-Table *
    1. Another Option is to do a query executed
                                                               i.      $Query = “select * from win32_Service”                                                             ii.      $a = Get-WMIObject –namespace “root\cimv2” –query $Query                                                            iii.      $a | Format-List * 

The above information is about different methods to interact with a service. Think tools in a box.  Use the one most appropriate.

Enjoy

Start a Service via ADSI

I recently ran into the problem of WMI being stopped on workstations.  As such I needed to find an easy way to start the service on the box locally without using WMI.  The code snippet below uses WSH and ADSI to start WMI.  If it fails it attempts to run sc.exe.

 

Interesting.  I am also writing another entry about 7 other methods. 

Here:

   

' ========================================================

' Method:       StartWMIbyADSI

' ========================================================

Sub StartWMIbyADSI()

            On Error Resume Next

Dim WSHShell:            Set WSHShell = CreateObject("WScript.Shell")

If err <> 0 Then Wscript.Echo “ Failed to create Wscript.Shell object”

            ' define a constant for stopped services

            ' define ADSI status constants

            Const ADS_SERVICE_STOPPED          = 1

            Const ADS_SERVICE_START_PENDING    = 2

            Const ADS_SERVICE_STOP_PENDING     = 3

            Const ADS_SERVICE_RUNNING          = 4

            Const ADS_SERVICE_CONTINUE_PENDING = 5

            Const ADS_SERVICE_PAUSE_PENDING    = 6

            Const ADS_SERVICE_PAUSED           = 7

            Const ADS_SERVICE_ERROR            = 8

           

            ' get an ADSI object for a computer

            Set objComputer = GetObject("WinNT://" & COMPUTER & ",computer")

            ' get an object for a service

            Set objService  = objComputer.GetObject("Service","winmgmt")

            ' check to see if the service is stopped

            If (objService.Status = ADS_SERVICE_STOPPED) Then

              ' if the service is stopped, then start it

                        objService.Start

            If Err.number<>0 Then 'Exit sub

                        'Start Failed

                        'Try starting by SC.exe

SCEXELocation = %systemroot% & “\system32”

                        wshshell.run SCEXELocation & "\sc.exe config winmgmt start= auto",0,1

                        wshshell.run SCEXELocation & "\sc.exe start winmgmt",0,1

                        Wscript.Quit

            End If

            While objService.Status <> ADS_SERVICE_RUNNING: Wend

            End If

 

            If Err <> 0 Then Wscript.Echo "ERROR StartWMIbyADSI"

            On Error GoTo 0

End Sub

 

Reference: http://support.microsoft.com/kb/247557

Reference: http://msdn.microsoft.com/en-us/library/aa746326.aspx

Swim: 12 Days of Christmas Set

300 IM

275 Free (Swim or Pull)

250 Kick

225 Back (125)/*** (100)

200 IM

175 Free (Swim or Pull)

150 Kick

125 Back (75)/*** (50)

100 IM

75 Free

50 Kick

25 Fly

 

The first day is the above set in a descending order. Each successive day drops the top item from the list and then descends the remaining swims. For example, Day 2 would start with the 275 Kick after the 25 Back and descend down the list. Day 3 would start with the 250 Free and descend from there. The last Day (12th) of Christmas would be only the 25 Back. The set is 9,100 yards. Rest is usually based on the group dynamics. If some swimmers are faster than the others, they should go an extra 50 on the longer swims to maintain moving the group through the set as a unit.

Bringing in the New Year 10,000 Yard Swim Workout

About 3 hours.

 

Total Yards

Set Interval
1000 10 x 100 @ 5 seconds rest (warm-up pace)
2000 10 x 100 Drill / Swim @ 1:40
3000 10 x 100 Kick (with fins) @ 1:35
4000 10 x 100 Pull @ 1:40
5000 10 x 100 Pyramid of Stroke @ 1:45
  100 Free  
  75 Free / 25 Stroke  
  50 Free / 50 Stroke  
  25 Free / 75 Stroke  
  100 Stroke  
  100 Stroke  
  75 Stroke / 25 Free  
  50 Stroke / 50 Free  
  25 Stroke / 75 Free  
  100 Free  
5500 5 x 100 IM (fins optional) @ 1:40
6000 5 x 100 Stroke @ 1:40
6500 5 x 100 Free @ 1:35
7500 10 x 100 Kick (with fins) @ 1:35
8000 5 x 100 Drill @ 1:40
8500 5 x 100 IM (fins optional) @ 1:40
9000 5 x 100 Stroke @ 1:40
9600 6 x 100 Free Descend @ 1:40, 1:35, 1:30, 1:25, 1:20
10000 4 x 100 Warm-down Choice @ 15 seconds rest
Space Shuttle Fly by at JSC

From my brother.   JSC = Johnson Space Center  Houston, Tx

Wide Load

Hey Guys,

        The last shuttle flight STS-126 had to land in California at Edwards Air Force base due to high winds at the Kennedy Space Center.  So they were ferrying the space shuttle back to Florida on top of its 747 carrier plane.  On its way back to Florida they had it do a fly by over JSC and the surrounding clear lake area during lunch time yesterday.  It was really cool to see in person, as the plane probably wasn't more then a few hundred feet of the ground so we got a nice close up.

Zoom Lens

Zoom Lens 2

        Ironically I was also giving a VIP tour yesterday (which I don't like doing) and had a good excuse to cut it short and take the tour outside to watch the shuttle fly by.   Yes, the other plan following is its fighter escort.

JSC JSCFraming

All photo credits go to people at JSC.

Posted: Dec 12 2008, 09:46 AM by scassells | with no comments
Filed under:
Security Maxims

Infinity Maxim: There are an unlimited number of security vulnerabilities for a given security device, system, or program, most of which will never be discovered (by the good guys or bad guys).

Arrogance Maxim: The ease of defeating a security device or system is proportional to how confident/arrogant the designer, manufacturer, or user is about it, and to how often they use words like “impossible” or “tamper-proof”.

Ignorance is Bliss Maxim: The confidence that people have in security is inversely proportional to how much they know about it.

Be Afraid, Be Very Afraid Maxim: If you’re not running scared, you have bad security or a bad security product.

High-Tech Maxim: The amount of careful thinking that has gone into a given security device, system, or program is inversely proportional to the amount of high-technology it uses.

Schneier’s Maxim #1: The more excited people are about a given security technology, the less they understand (1) that technology and (2) their own security problems.

Low-Tech Maxim: Low-tech attacks work (even against high-tech devices and systems).

Father Knows Best Maxim: The amount that (non-security) senior managers in any organization know about security is inversely proportional to (1) how easy they think security is, and (2) how much they will micro-manage security and invent arbitrary rules.

Huh Maxim: When a (non-security) senior manager, bureaucrat, or government official talks publicly about security, he or she will usually say something stupid, unrealistic, inaccurate, and/or naive.

Voltaire’s Maxim: The problem with common sense is that it is not all that common.

Yipee Maxim: There are effective, simple, and low-cost counter-measures (at least partial countermeasures) to most vulnerabilities.

Arg Maxim: But users, manufacturers, managers, and bureaucrats will be reluctant to implement them for reasons of inertia, pride, bureaucracy, fear, wishful thinking, and/or cognitive dissonance.

Show Me Maxim: No serious security vulnerability, including blatantly obvious ones, will be dealt with until there is overwhelming evidence and widespread recognition that adversaries have already catastrophically exploited it. In other words, “significant psychological (or literal) damage is required before any significant security changes will be made.”

I Just Work Here Maxim: No salesperson, engineer, or executive of a company that sells security products or services is prepared to answer a significant question about vulnerabilities, and few potential customers will ever ask them one.

Bob Knows a Guy Maxim: Most security products and services will be chosen by the end-user based on purchase price plus hype, rumor, innuendo, hearsay, and gossip.

Familiarity Maxim: Any security technology becomes more vulnerable to attacks when it becomes more widely used, and when it has been used for a longer period of time.

Antique Maxim: A security device, system, or program is most vulnerable near the end of its life.

Payoff Maxim: The more money that can be made from defeating a technology, the more attacks, attackers, and hackers will appear.

I Hate You Maxim 1: The more a given technology is despised or distrusted, the more attacks, attackers, and hackers will appear.

I Hate You Maxim 2: The more a given technology causes hassles or annoys security personnel, the less effective it will be.

Shannon’s (Kerckhoffs’) Maxim: The adversaries know and understand the security hardware and strategies being employed.

Corollary to Shannon’s Maxim: Thus, “Security by Obscurity”, i.e., security based on keeping long-term secrets, is not a good idea.

Gossip Maxim: People and organizations can’t keep secrets.

Plug into the Formula Maxim: Engineers don’t understand security. They think nature is the adversary, not people. They tend to work in solution space, not problem space. They think systems fail stochastically, not through deliberate, intelligent, malicious intent.

Rohrbach’s Maxim: No security device, system, or program will ever be used properly (the way it was designed) all the time.

Rohrbach Was An Optimist Maxim: Few security devices, systems, or programs will ever be used properly.

Insider Risk Maxim: Most organizations will ignore or seriously underestimate the threat from insiders.

We Have Met the Enemy and He is Us Maxim: The insider threat from careless or complacent employees and contractors exceeds the threat from malicious insiders (though the latter is not negligible.)

Troublemaker Maxim: The probability that a security professional has been marginalized by his or her organization is proportional to his/her skill, creativity, knowledge, competence, and eagerness to provide effective security.

Feynman’s Maxim: An organization will fear and despise loyal vulnerability assessors and others who point out vulnerabilities or suggest security changes more than malicious adversaries.

Irresponsibility Maxim: It’ll often be considered “irresponsible” to point out security vulnerabilities (including the theoretical possibility that they might exist), but you’ll rarely be called irresponsible for ignoring or covering them up.

Backwards Maxim: Most people will assume everything is secure until provided strong evidence to the contrary—exactly backwards from a reasonable approach.

You Could’ve Knocked Me Over with a Feather Maxim 1: Security managers, manufacturers, vendors, and end users will always be amazed at how easily their security products or programs can be defeated.

You Could’ve Knocked Me Over with a Feather Maxim 2: Having been amazed once, security managers, manufacturers, vendors, and end users will be equally amazed the next time around.

That’s Why They Pay Us the Big Bucks Maxim: Security is nigh near impossible. It’s extremely difficult to stop a determined adversary. Often the best you can do is discourage him and maybe minimize the consequences when he does attack.

Throw the Bums Out Maxim: An organization that fires high-level security managers when there is a major security incident, or severely disciplines or fires low-level security personnel when there is a minor incident, will never have good security.

Better to be Lucky than Good Maxim: Most of the time when security appears to be working, it’s because no adversary is currently prepared to attack.

A Priest, a Minister, and a Rabbi Maxim: People lacking imagination, skepticism, and a sense of humor should not work in the security field.

Mr. Spock Maxim: The effectiveness of a security device, system, or program is inversely proportional to how angry or upset people get about the idea that there might be vulnerabilities.

Double Edge Sword Maxim: Within a few months of its availability, new technology helps the bad guys at least as much as it helps the good guys.

Mission Creep Maxim: Any given device, system, or program that is designed for inventory will very quickly come to be viewed—quite incorrectly—as a security device, system, or program.

We’ll Worry About it Later Maxim: Effective security is difficult enough when you design it in from first principles. It almost never works to retrofit it in, or to slap security on at the last minute, especially onto inventory technology.

Somebody Must’ve Thought it Through Maxim: The more important the security application, the less careful and critical thought has gone into it.

That’s Entertainment Maxim: Ceremonial Security (a.k.a. “Security Theater”) will usually be confused with Real Security; even when it is not, it will be favored over Real Security.

Schneier’s Maxim #2: Control will usually get confused with Security.

Ass Sets Maxim: Most security programs focus on protecting the wrong assets.

Vulnerabilities Trump Threats Maxim: If you know the vulnerabilities (weaknesses), you’ve got a shot at understanding the threats (the probability that the weaknesses will be exploited and by whom). Plus you might even be okay if you get the threats all wrong. But if you focus mostly on the threats, you’re probably in trouble.

Mermaid Maxim: The most common excuse for not fixing security vulnerabilities is that they simply can’t exist.

Onion Maxim: The second most common excuse for not fixing security vulnerabilities is that “we have many layers of security”, i.e., we rely on “Security in Depth”.

Hopeless Maxim: The third most common excuse for not fixing security vulnerabilities is that “all security devices, systems, and programs can be defeated.” (This is typically expressed by the same person who initially invoked the Mermaid Maxim.)

Takes One to Know One Maxim: The fourth most common excuse for not fixing security vulnerabilities is that “our adversaries are too stupid and/or unresourceful to figure that out.”

Depth, What Depth? Maxim: For any given security program, the amount of critical, skeptical, and intelligence thinking that has been undertaken is inversely proportional to how strongly the strategy of “Security in Depth” (layered security) is embraced.

Source = http://www.ne.anl.gov/capabilities/vat/seals/maxims.html

Posted: Dec 03 2008, 09:46 AM by scassells | with no comments
Filed under:
No Caption Required

No Caption Required

 http://finance.google.com/finance?cid=983582

Posted: Nov 20 2008, 03:41 PM by scassells | with no comments
Filed under:
WMI – KB955988 Patch for XP SP2+

Hotfix in question: The Win32_Environment WMI class does not return the value of the PATH environment variable if the variable consists of more than 1,024 characters on a Windows XP-based computer.

 

http://support.microsoft.com/kb/955988

 

This affects all version of Windows XP.  Requires SP2 or newer.  This hotfix updates this error and provides a newer version of Cimwin32.dll.  This hotfix gives the newest version of WMI.  Newer then all the rest.

 

We also ran into the issue that our MOF modification provided by www.sccmexpert.com was gathering the path.  However, it was only gathering up to 255 characters.  I am looking for a method beyond directly modifying the SQL tables on the primaries and their parents.

 

 

Posted: Oct 29 2008, 04:28 PM by scassells | with no comments |
Filed under: ,
Windows 7 - PDC Preview

Windows 7

 

The best way to describe this new OS… Instead of working on the core component changes like was done with VISTA, they are now working on the UI.

 Official Windows Experience Blog

http://windowsteamblog.com/blogs/windowsexperience/archive/2008/10/28/notes-on-the-windows-7-demo-from-today-s-pdc-keynote.aspx

 

Review: http://arstechnica.com/news.ars/post/20081028-first-look-at-windows-7.html

Offical Site: http://www.microsoft.com/windows/windows-7/default.aspx

 Big Pictures
Posted: Oct 29 2008, 10:40 AM by scassells | with no comments
Filed under:
Windows Azure – Free Cloud OS

What is it?  It is a completely free Developers Operating System for use exclusively with Cloud server farms.  This is the first try by Microsoft to do something completely different.  The idea is to get people to play and work with the product.  That way in the future this can be sold for a profit. 

 

Makes sense to me, develop a good OS so it will be adopted.

 

Source: http://www.microsoft.com/azure/default.mspx

Offical Annoucement: http://www.microsoft.com/presspass/press/2008/oct08/10-27PDCDay1PR.mspx

Channel 9 Video: http://channel9.msdn.com/posts/Charles/Manuvir-Das-Introducing-Windows-Azure/

Posted: Oct 29 2008, 10:20 AM by scassells | with no comments
Filed under:
Microsoft SideSight

New interface for mobile devices, taking multitouch, to multideminsion

 

Source and Video: http://tech.blorge.com/Structure:%20/2008/10/21/watch-out-apple-iphone-microsoft-sidesight-may-steal-your-throne/

 

Posted: Oct 29 2008, 10:15 AM by scassells | with no comments
Filed under:
Windows Server 2008 R2

Some features include:

  • Hyper-V 2.0
  • Live Migration
  • Logical Processor Support
  • Hot Add Remove Storage
  • SLAT – Second Level Translation
  • Dynamic Memory – across VMs
  • Boot from VHD
  • Terminal Services
    • New API
    • Connection Broker Extensibility
    • Dynamic CPU allocation
    • IP address virtualization
    • Best Practices Analyzer
    • Full MSI support
  • New Management Features
  • PowerShell 2.0
  • Power Management
  • Direct Access – No more VPN needed
  • Branchoffice Cache
  • Server Core - .NET, ASP.NET, PowerShell 2.0
 

Source: http://bink.nu/news/windows-server-2008-r2-overview-feature-overview.aspx

Source: http://blogs.technet.com/windowsserver/archive/2008/10/28/announcing-windows-server-2008-r2.aspx

 

Office 2007 Serivce Pack 2 (SP2)

Expected Feb – Apr of 2009

Source: http://blogs.technet.com/office_sustained_engineering/archive/2008/10/22/announcing-service-pack-2-sp2-for-the-2007-microsoft-office-system.aspx

 

For Office Desktop Programs:

·         Improved Outlook Calendaring Reliability

·         Improved Outlook Performance

·         Enabling Object Model support for Charts in PowerPoint and Word

·         Improved cryptographic functionality by supporting all cryptographic algorithms offered by the operating system

·         Improved functionality in Excel’s charting mechanism

·         Ability to ungroup SmartArt graphics (and as a result, the ability to add animations to them in PowerPoint)

·         Ability for Visio to export UML models to an XML file compliant with the XMI standard

·         Tool that enables the uninstall of Office client Service Packs

 

For Servers:

·         Performance and manageability improvements to variations in Enterprise Content Management (ECM) including STSADM commands for repairing links between source and target pages

·         Improvements around processing status approvals from Office Project Web Access into Office Project Professional 2007

·         Improvements to read-only content databases and index rebuild timer jobs in Windows SharePoint Services 3.0

Posted: Oct 29 2008, 10:13 AM by scassells | with no comments
Filed under:
More Posts Next page »