I had a few projects lined up, but they seem to be taking a while to come to fruition. I would like to make it known that my services are available to anyone who may need to contract someone to perform services writing automation code. My main forte is writing code in VBScript and a bit of Visual Basic (6 or .Net). I can also handle Batch, DHTML, JScript, and SMS Installer.
Please feel free to contact me if you are seeking someone to write code which assists with the management of Active Directory, DHCP, DNS, Windows Server and Workstation systems, SMS, ConfigMgr, etc.... I am also verse in the methods and associated challenges of deploying operating systems in the enterprise.
Also, in the last few years, I have become quite verse correcting problem SMS / ConfigMgr clients and package distribution issues in a large multi-tiered hierarchy.
Please browse my blog and my articles at myITforum for a few samples of my work.
Dan
Posted Sunday, December 27, 2009 5:21 PM by dthomson | with no comments
When seeking help with issues relating to SMS or Configuration Manager, be sure not to share information that has been encrypted as it may contain sensitive data such as user credentials. Files such as the site control file and RIPINFO.INI (from OSD) contain entries named Reserved1, Reserved2, and Reserved3 which are encrypted data. If you share a file that contains information such as your domain name, server names, IP addresses, and these encrypted entries, it is possible that someone can use this information to your detriment. Just because the information is encrypted doesn't make it safe. There are methods freely available on the Internet that will allow someone to easily decrypt that information.
Just a thought.
Posted Wednesday, October 01, 2008 7:28 PM by dthomson | with no comments
There is a little bit of information that is not documented in MDT 2008 Update 1 that impacts the resulting deployment when using MDT to install and configure operating system roles, role services, and features for Windows Server 2003 and Windows Server 2008.
Michael Niehaus sent the following information to the myITforum SMS email list. I thought I'd post it here in case someone missed it.
Windows Server 2008 RTM, full version All roles, role services, and features included in Windows Server 2008 RTM, full version, can be installed using the "Install Roles & Features" action. Windows Server 2008 RTM Server Core The following roles can be installed: DirectoryServices-ADAM-ServerCore (when selecting ADLDS)BitLockerClientForNFS-Base (when selecting FS-NFS-Services)DHCPServerCore (when selecting DHCP)DNS-Server-Core-Role (when selecting DNS)FailoverCluster-Core (when selecting Failover-Clustering)IIS-WebServerRole (when selecting Web-Server)MultipathIo (when selecting Multipath-IO)NetworkLoadBalancingHeadlessServer (when selecting NLB)Printing-ServerCore-Role (when selecting Print-Services)QWAVESNMP-SC (when selecting SNMP-Services)TelnetClient (when selecting Telnet-Client)WAS-WindowsActivationService (when selecting WAS)WindowsServerBackup (when selecting Backup-Features or Backup)WINS-SC (when selecting WINS-Server)ADDS Windows Server 2003 The following roles can be installed: IIS (when selecting Web-Server)Terminal Services (when selecting Terminal-Services)Windows Deployment Services (when selecting WDS)DNSDHCP Server (when selecting DHCP) WINS (when selecting WINS-Server)
Windows Server 2008 RTM, full version
All roles, role services, and features included in Windows Server 2008 RTM, full version, can be installed using the "Install Roles & Features" action.
Windows Server 2008 RTM Server Core
The following roles can be installed:
DirectoryServices-ADAM-ServerCore (when selecting ADLDS)BitLockerClientForNFS-Base (when selecting FS-NFS-Services)DHCPServerCore (when selecting DHCP)DNS-Server-Core-Role (when selecting DNS)FailoverCluster-Core (when selecting Failover-Clustering)IIS-WebServerRole (when selecting Web-Server)MultipathIo (when selecting Multipath-IO)NetworkLoadBalancingHeadlessServer (when selecting NLB)Printing-ServerCore-Role (when selecting Print-Services)QWAVESNMP-SC (when selecting SNMP-Services)TelnetClient (when selecting Telnet-Client)WAS-WindowsActivationService (when selecting WAS)WindowsServerBackup (when selecting Backup-Features or Backup)WINS-SC (when selecting WINS-Server)ADDS
Windows Server 2003
IIS (when selecting Web-Server)Terminal Services (when selecting Terminal-Services)Windows Deployment Services (when selecting WDS)DNSDHCP Server (when selecting DHCP) WINS (when selecting WINS-Server)
WINS (when selecting WINS-Server)
Posted Friday, September 12, 2008 1:53 PM by dthomson | with no comments
An update to the Microsoft Deployment Toolkit (MDT) 2008 has been released. Get it here -> http://www.microsoft.com/downloads/details.aspx?familyid=3bd8561f-77ac-4400-a0c1-fe871c461a89
Posted Thursday, July 31, 2008 9:59 PM by dthomson | with no comments
This was recently posted to the TechNet SteadyState forum.
We are pleased to announce the release of Windows SteadyState 2.5, available in 9 languages from the Microsoft Shared Access Site: http://www.microsoft.com/sharedaccess Providing solutions to help manage shared computers has been a consistent request from partners, end users around the world. Microsoft has a very compelling solution with SteadyState enabling our shared access partners to protect shared access computers by cleaning the system with every restart, making them easier to manage and protect. It also restricts users from accessing system settings and data, preventing inadvertent or malicious damage, and thus, improving the up time of these PCs. Besides offering excellent desktop security, SteadyState is user-friendly and reliable, it reduces downtime, is easy to maintain, and is free of charge to genuine Windows XP and Windows Vista customers. SteadyState is a great solution for schools, libraries, families, internet cafés, telecenters, rural kiosks, and community centers, providing better computer access to underserved markets where non-technical managers are often responsible for shared computers. New features in SteadyState version 2.5 include the following: • Full support for Windows Vista• Full support for Internet Explorer 7 and tabbed browsing• Overall improved performance• Faster booting• Faster system caching• Remote management of Windows Disk Protection through scripting• Improved importing & exporting of user information To learn more, or download SteadyState 2.5 go to: http://www.microsoft.com/sharedaccess
We are pleased to announce the release of Windows SteadyState 2.5, available in 9 languages from the Microsoft Shared Access Site: http://www.microsoft.com/sharedaccess
Providing solutions to help manage shared computers has been a consistent request from partners, end users around the world. Microsoft has a very compelling solution with SteadyState enabling our shared access partners to protect shared access computers by cleaning the system with every restart, making them easier to manage and protect. It also restricts users from accessing system settings and data, preventing inadvertent or malicious damage, and thus, improving the up time of these PCs.
Besides offering excellent desktop security, SteadyState is user-friendly and reliable, it reduces downtime, is easy to maintain, and is free of charge to genuine Windows XP and Windows Vista customers.
SteadyState is a great solution for schools, libraries, families, internet cafés, telecenters, rural kiosks, and community centers, providing better computer access to underserved markets where non-technical managers are often responsible for shared computers.
New features in SteadyState version 2.5 include the following:
• Full support for Windows Vista• Full support for Internet Explorer 7 and tabbed browsing• Overall improved performance• Faster booting• Faster system caching• Remote management of Windows Disk Protection through scripting• Improved importing & exporting of user information
Posted Thursday, July 10, 2008 8:19 PM by dthomson | with no comments
It can sometimes get clumbsy working with SMS NAL paths and having to figure out a routine to parse the data. Fortunately, there already exists a WMI method to do this for us -UnPackNALPath. Below is a simple vbscript that demonstrates how to use the method and how the data is returned.
Dim objSWbemLocatorDim objSWbemServicesDim objNALMethodsDim strNALPathDim arrDisplayQuals()Dim strNALTypeDim strNOSPathDim arrNOSQuals()Dim colResources, objResourceDim strQuery
Const wbemFlagReturnImmediately = 16Const wbemFlagForwardOnly = 32 'Connect to the SMS provider for remote server. Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objSWbemServices = objSWbemLocator.ConnectServer("Appalachian", _ "root\sms\site_MH2") Set objNALMethods = objSWbemServices.Get("SMS_NAL_Methods") Query = "SELECT * FROM SMS_SystemResourceList " & _ "WHERE RoleName = 'SMS Distribution Point'"Set colResources = objSWbemServices.ExecQuery(Query, , _ wbemFlagForwardOnly Or wbemFlagReturnImmediately) For Each objResource In colResources strNALPath = objResource.NALPath objNALMethods.UnPackNALPath strNALPath, arrDisplayQuals, _ strNALType, strNOSPath, arrNOSQuals Wscript.Echo "NALPath = " & strNALPath & vbCrLf & _ " Display = " & arrDisplayQuals(0) & vbCrLf & _ " Type = " & strNALType & vbCrLf & _ " NOSPath = " & strNOSPath & vbCrLf & _ " NOSQual = " & arrNOSQuals(0)Next
Const wbemFlagReturnImmediately = 16Const wbemFlagForwardOnly = 32
'Connect to the SMS provider for remote server. Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objSWbemServices = objSWbemLocator.ConnectServer("Appalachian", _ "root\sms\site_MH2")
Set objNALMethods = objSWbemServices.Get("SMS_NAL_Methods")
Query = "SELECT * FROM SMS_SystemResourceList " & _ "WHERE RoleName = 'SMS Distribution Point'"Set colResources = objSWbemServices.ExecQuery(Query, , _ wbemFlagForwardOnly Or wbemFlagReturnImmediately)
For Each objResource In colResources strNALPath = objResource.NALPath
objNALMethods.UnPackNALPath strNALPath, arrDisplayQuals, _ strNALType, strNOSPath, arrNOSQuals Wscript.Echo "NALPath = " & strNALPath & vbCrLf & _ " Display = " & arrDisplayQuals(0) & vbCrLf & _ " Type = " & strNALType & vbCrLf & _ " NOSPath = " & strNOSPath & vbCrLf & _ " NOSQual = " & arrNOSQuals(0)Next
When run, this script will have output similar to the following:
NALPath = ["Display=\\APPALACHIAN\"]MSWNET:["SMS_SITE=MH2"]\\APPALACHIAN\ Display = Display=\\APPALACHIAN\ Type = MSWNET NOSPath = \\APPALACHIAN NOSQual = SMS_SITE=MH2
Posted Monday, March 24, 2008 8:26 PM by dthomson | with no comments
The long awaited release of the Microsoft Deployment Toolkit (MDT) 2008 has finally arrived. Read about it on the Microsoft Deployment Team blog at http://blogs.technet.com/msdeployment/default.aspx. It can be downloaded from http://www.microsoft.com/downloads/details.aspx?familyid=3bd8561f-77ac-4400-a0c1-fe871c461a89&displaylang=en&tm.
Posted Thursday, March 20, 2008 5:44 PM by dthomson | with no comments
The Department of State Network Operations Center is seeking an SMS 2003 engineer to fill a vacant senior SMS position. We are seeking someone who is a fair fit with the following requirements:
The position responsibilities are:
Send me an email if you're interested.
Posted Monday, February 11, 2008 6:58 PM by dthomson | 1 comment(s)
Posted Wednesday, December 12, 2007 5:19 PM by dthomson | with no comments
Something I noticed the other day... You cannot use the built-in Windows XP Search feature to search for text inside a .wsf script file. It just won't do it.
I wonder what other file types it won't search.
Posted Wednesday, November 07, 2007 7:53 AM by dthomson | with no comments
Question:
Lets say you work for a company that does not currently use any IE History reporting software like ISA or whatever else is out there. And your boss came to you and said "We need to pull the internet history of 100 machines"... Could you script that?
Lets say you work for a company that does not currently use any IE History reporting software like ISA or whatever else is out there. And your boss came to you and said "We need to pull the internet history of 100 machines"...
Could you script that?
Solution:
The attached zip file contains two files that were pulled from the Tek-Tips Want to know what websites people go to? forum posting. Paraphrasing the author: Try the html file if you ever wonder if it's possible to find out what websites individuals visit when logged onto the server/PC? Besides checking the Proxy server, or the firewall. Also, try the vbs script if you ever want to remove the entries.
The attached zip file contains two files that were pulled from the Tek-Tips Want to know what websites people go to? forum posting.
Paraphrasing the author:
Try the html file if you ever wonder if it's possible to find out what websites individuals visit when logged onto the server/PC? Besides checking the Proxy server, or the firewall. Also, try the vbs script if you ever want to remove the entries.
Bloggers note: There are other samples floating around too. I'll post them here as well when I find them. BTW: I've not tested these, so use at your own risk!
Posted Monday, September 17, 2007 8:22 PM by dthomson | with no comments
Is it possible to add machine names to a collection from a text file via vbscript?
There are several programs to do this.. Below are some of my favs Collection Membership Wizard from Steve Ognibene: http://www.myitforum.com/articles/8/view.asp?id=7981 Collection Injection from SMS Expert: http://www.myitforum.com/articles/8/view.asp?id=8568 Notes: The sample HTA found in Greg Ramsey's article titled Right-Click, add Machines to a Collection! can be a good illustration of how to get it going in VB Script
There are several programs to do this.. Below are some of my favs Collection Membership Wizard from Steve Ognibene: http://www.myitforum.com/articles/8/view.asp?id=7981 Collection Injection from SMS Expert: http://www.myitforum.com/articles/8/view.asp?id=8568
Notes: The sample HTA found in Greg Ramsey's article titled Right-Click, add Machines to a Collection! can be a good illustration of how to get it going in VB Script
Posted Sunday, September 16, 2007 9:39 PM by dthomson | with no comments
I'd like to display a window that pops up and says "Please wait ..." while the script is running and then disappears when the script finishes. I'm looking for something that does not require user interaction.
I've used the code posted on this forum in the past for putting up a progress bar while the rest of the code in the script is running. It uses an IE window as a popup type message box. Progress / Activity Bar as a Class There's also an HTA version.
I've used the code posted on this forum in the past for putting up a progress bar while the rest of the code in the script is running. It uses an IE window as a popup type message box.
Progress / Activity Bar as a Class
There's also an HTA version.
Posted Sunday, September 16, 2007 9:31 PM by dthomson | with no comments
Has anyone ever written a script with SMS Installer that displays a progress bar while the script is running? In Installation Properties, under the Screen tab, I set the Progress Bar Based On: item to Position in EXE, but when I run the script, I don’t see a progress bar displayed. Am I missing something? I tried setting it to Position in Installation Script, as well, but it didn’t make a difference. I’d appreciate any input anyone has to offer.
Refer to Rod's article titled Using a Custom Progress DLL for details on how to configure SMS Installer to use a progress bar.
Posted Sunday, September 16, 2007 9:24 PM by dthomson | with no comments
Is there an easy script I can run that will disable the system beep? This is listed under device manager (showing hidden devices) –Non Plug-Play Hardware- … Beep. This is the same “beep” you get from the internal system speaker during post. We no longer want this to happen. It is occurring during a pop up which causes the users to complain.
Is there an easy script I can run that will disable the system beep? This is listed under device manager (showing hidden devices) –Non Plug-Play Hardware- … Beep.
This is the same “beep” you get from the internal system speaker during post. We no longer want this to happen. It is occurring during a pop up which causes the users to complain.
Solution 1:
sc \\remoteMachine stop beep && sc \\remoteMachine config beep start= disabled Or, this command can be pushed via bat file through SMS: sc stop beep && sc config beep start= disabled Notes: SC.exe is included with Windows XP and Server 2003 and is available in the resource kit for Windows 2000. The command after the && will only execute if the previous command was successful. See Command shell overview and The Windows NT Command Shell for more info.
sc \\remoteMachine stop beep && sc \\remoteMachine config beep start= disabled
Or, this command can be pushed via bat file through SMS:
sc stop beep && sc config beep start= disabled
Notes:
Solution 2:
Net Stop Beep && Reg Add HKLM\SYSTEM\CurrentControlSet\Services\Beep /v Start /d 4 /t REG_DWORD /f
Posted Sunday, September 16, 2007 8:56 PM by dthomson | with no comments