Archive for category http://schemas.google.com/blogger/2008/kind#post
List All Disks (VMDKs) In A Virtual Machine (ESXi)
Posted by edwgon in administrator, disks, esxi, filename, http://schemas.google.com/blogger/2008/kind#post, powercli, PowerShell, virtual, virtual machines, vmdk, vmdks, vmware on March 31, 2015
Using VMware PowerCLI, PowerShell, there’s a nifty way to get a list of all VMDKs associated with a virtual machine(s).
Here’s the command:
For this sample, I chose to output the following fields:
Installing MS-DOS 6.22 Using Parallels 10
Posted by edwgon in dos, http://schemas.google.com/blogger/2008/kind#post, imac, ms dos, ms-dos 6.22, OS X, Parallels, Parallels 10, virtual, virtual machine, windows for workgroups, yosemite on January 8, 2015
Here’s how I was able to install MS-DOS 6.22 on my iMac using Parallels 10.
I’m not going into details on how to create the virtual machine using Parallels, it’s easy to figure that out.
Here is the hardware configuration for the MS-DOS 6.22 virtual machine.
CPU & Memory
CD/DVD 1
NMIS 8.5.2G E-mail Notifications Using Exchange As Relay
Posted by edwgon in email notifications, email relay, exchange, exchange server, http://schemas.google.com/blogger/2008/kind#post, linux, nmis, nmis notifications, relay, sendmail, vi on December 4, 2014
In the past few weeks, I started working with NMIS. The application does a great job monitoring all sorts of devices. I decided to use the free version, so support is mainly based on whatever is found on the web or from NMIS’ email group.
- A working NMIS environment
- I downloaded the NMIS appliance and got the application to work in an hour.
- A working installation of a mail daemon in the linux box where NMIS is running
- For my environment I used sendmail, so most of these steps are related to sendmail.
- A working installation of Exchange server
- Logon to the linux server where NMIS is running from
- Go to /etc/mail directory
- run vi sendmail.cf
- You can use any file editor, I just prefer vi
- If using vi type: /DSsmtp
- / does a search for string DSsmtp
- Once that line is found, then you’ll want to change it to: DSsmtp.YourDomain.com
- Save the file and reload sendmail services
Slow Logon And Logoff With Folder Redirection, Roaming Profiles And Offline Files
Ever since we upgraded to Windows 7 Enterprise, our branch office users started complaining about extremely slow logon and logoff. In some instances, a user logon or logoff could take over ten minutes!
- Folder redirection (Desktop, Favorites, Links, Documents, Pictures, Videos, Searches and Contacts folders are redirected to a file server in our datacenter)
- Roaming profiles (Users’ roaming profile folders are located on a file server in our datacenter)
- Offline Files (Users’ home folders were set as offline files/folders)
As of 9/30/2014, the AppData re-direction workaround broke Internet Explorer browsing – pages take a very long time to load while browsing using IE (10 and up). I opened a case with Microsoft and it looks like the slow down of IE is by design because we’re re-directing AppData and AppData, in our environment, isn’t on a local server to the users’ network. We moved AppData to our central file server located on our data center in a co-location. Again, this bit of information isn’t found on Microsoft’s documentation, so be careful before you go re-directing AppData!
We’re now looking into possibly removing roaming profiles and AppData re-direction because this is affecting productivity for our users.
Deploy Windows Server 2008 R2 with SCCM 2012 and MDT 2013
Posted by edwgon in http://schemas.google.com/blogger/2008/kind#post, MDT 2013, Microsoft Deployment Toolkit, OS Deployment, SCCM 2012, server deployment, task sequence on March 5, 2014
In this article I’m going to show how to create a SCCM 2012 task sequence to deploy Windows Server 2008 R2 using Microsoft Deployment Toolkit 2013.
- Make sure to have an Operating System Images and an Operating System Installers ready for Windows Server 2008 R2 already installed in SCCM
- Download, install and configure Microsoft Deployment Toolkit 2013 (Make sure to perform these steps on the SCCM server!)
- Make sure MDT is properly installed
- Make sure MDT is properly installed
- Once you make sure that MDT is properly installed, then you need to create a MDT package in SCCM
- Basically, from the MDT installation folder, you’re going to copy the following folders to a network share that you’ll use to create the SCCM package: Control, Scripts, Servicing and Tools
- Once in the create package wizard, make sure you select This package contains source files and point it to the network share you created in step 2.1
- In the Program Type screen, select Do not create a program
- Once finished, make sure to Distribute Content
- Make sure these steps are done properly or you’ll have major issues with the rest of this how-to. I found some great information about creating an MDT package on this link
- Click on Create MDT Task Sequence
- In the Choose Template screen, select Server Task Sequence
- In the General screen, provide a name and description for the task sequence
- In the Details screen, provide the domain and domain account that will be used to join such domain. Also provide organization name and product key number for the installation of the server OS
- In Capture Settings screen, select This task sequence will never be used to capture an image
- In Boot Image screen, select your WinPE boot image, in my case that will be Boot image (x64)
- In MDT Package screen, you’re going to select the MDT package created earlier in this how-to (this portion will either make or break this how-to)
- In OS Image screen, select the Windows Server 2008 R2 WIM file (Described in requirements step 1)
- In OS Image Index, select the version of server you want to run, in my case it will be Sever 2008 R2 Enterprise
- In Client Package, select the SCCM client package that you’ve been using in your environment
- In Settings Package screen, in my case I selected just any package from the list…because I’m going to disable these tasks later on
- In Sysprep Package, there’s only one option already selected, so just hit Next button
- Hit Next until you get to Finish



Also, pay close attention to the following fields in Apply Operating System Image section:
- Destination – Logical drive letter stored in a variable
- Variable name – System
- System is used for drive letter, in this case C:
Next, we’re going to configure the Apply Windows Settings section.
Here, you’re going to type your company’s name and user name for this server, also you’ll need the server’s product key numbers.
In our environment, we have a licensing server, so I set the Licensing server field to Do not specify. Make sure you set the Time Zone as well.

Now, we’re going to Apply Network Settings to our server installation.
This section will allows us to join this server to the domain. You can specify your domain name and the domain organizational unit (OU) where the server account can be placed.
The account used to join the server to the domain can be just a regular domain account.
We’re now going to load drivers to our server installation, this is a nice to have option, but not required. Obviously, you have to have the driver packages created previously.
Next, we’re going to load the SCCM client to our server installation. In this section, I’m loading the default SCCM client, which comes with SCCM installation, and I’m also installing a hotfix for the SCCM client.

This section is pretty much self explanatory, just select the server roles and features you want to add then continue.
I have disabled some section (New Computer Only and Capture the Reference Machine) on purpose, you don’t have to to that.
Last Server Reboot
Posted by edwgon in administrator, http://schemas.google.com/blogger/2008/kind#post, last reboot, management, reboot, script, Windows Server 2008 on November 22, 2013
I had a need to find out when was the last time my Windows servers were rebooted, so I found a piece of PowerShell code that I modified to suit my needs.
- Excel must be installed on the computer running the script
- You will need server admin access to perform query
- A text file with a list of servers, no need to add \\ before server name
<# read parameter and assign it to $textFile
we're only expecting one parameter, which is the path to a
file containing a list of server/computer names #>
$textFile = $args[0]
# Let's make sure the file actually exists
If (($textFile -ne $null) -and (Test-Path $textFile))
{
# Create an Excel object file to show output
$excelApp = New-Object -comobject Excel.Application
$excelApp.visible = $True
$b = $excelApp.Workbooks.Add()
$excelWorksheetColumns = $b.Worksheets.Item(1)
$excelWorksheetColumns.Cells.Item(1,1) = "Server"
$excelWorksheetColumns.Cells.Item(1,2) = "IP Address"
$excelWorksheetColumns.Cells.Item(1,3) = "Last Boot Time"
$d = $excelWorksheetColumns.UsedRange
$d.Interior.ColorIndex = 19
$d.Font.ColorIndex = 11
$d.Font.Bold = $True
$d.EntireColumn.AutoFit()
$excelWorksheetRow = 2
# read the contents of the file
$fileContents = Get-Content $textFile
ForEach ($computerName in $fileContents)
{
# if server is IP Enabled, we're going to get DNS Host Name and its IP Address
$networkAdapterConfiguration = Get-WmiObject Win32_NetworkAdapterConfiguration -computername $computerName | Where {$_.IpEnabled -Match "True"}
# collect and display, to Excel sheet, server's FQDN and IP address
ForEach ($detailsNetworkAdapterConfiguration in $networkAdapterConfiguration)
{
$excelWorksheetColumns.Cells.Item($excelWorksheetRow, 1) = $detailsNetworkAdapterConfiguration.DNSHostName
$excelWorksheetColumns.Cells.Item($excelWorksheetRow, 2) = $detailsNetworkAdapterConfiguration.IPAddress
}
$date = New-Object -com WbemScripting.SWbemDateTime
$computerOsInfo = Get-WmiObject Win32_OperatingSystem -computername $computerName
ForEach ($memberComputerOsInfo in $computerOsInfo)
{
$date.value = $memberComputerOsInfo.lastBootupTime
If ($memberComputerOsInfo.Version -eq "5.2.3790" )
{
$excelWorksheetColumns.Cells.Item($excelWorksheetRow, 3) = $date.GetVarDate($True)
}
Else
{
$excelWorksheetColumns.Cells.Item($excelWorksheetRow, 3) = $date.GetVarDate($False)
}
}
# move to the next Excel rows by 1
$excelWorksheetRow = $excelWorksheetRow + 1
}
}
Else
{
# Checking user input and displaying a warning if no proper syntax was used
Write-host "`nPath was not found, or no parameter was used.`nPlease run: Get-Help Get-LastReboot" -ForegroundColor Yellow
}
<#
.SYNOPSIS
View the last time a computer was rebooted.
.DESCRIPTION
This script will display the last time the computer was rebooted.
The script will require one parameter, the path to the text file containing the list of computer names.
.LINK
Get-LastReboot
.EXAMPLE
Example 1 - Simple use
Get-LastReboot C:\SomeFolder\ListOfServers.txt
#>
No OST for Outlook 2010 on a Terminal Server
Posted by edwgon in Group Policy Object, http://schemas.google.com/blogger/2008/kind#post, loopback processing mode, MS Office 2010, OST, OST files, outlook 2010, terminal server, Windows Server 2008 on July 9, 2013
We had installed Microsoft Office 2010 on our Windows 2008 R2 Terminal Servers, and we didn’t customize the Office 2010 installation. I was looking for a way to prevent Outlook from generating a new OST file whenever a new user logged on to our Terminal Servers, in addition, I wanted the Outlook profile to be generated automatically.
Enter Group Policy Objects!
Since these policies are applied only for the TS servers, I moved the the computer accounts to a new Organization Unit (OU) that I created for these servers. I linked the new GPO to this OU. There are many documents that show how to do these steps, so I won’t be going over this.
The key point to remember for this GPO to work is: loopback processing mode
The above is true especially if your TS servers inherit policies from top level GPOs.
In my case, I was concerned about making changes to the user configuration section, to be more specific, to the Outlook 2010 settings.
The screenshot basically shows what needs to be done in order to achieve this goal.
Deploy Adobe Acrobat Reader XI (11.0.03) Using SCCM 2012 SP1
Posted by edwgon in Adobe Acrobat Reader XI, Application Deployment, Configuration manager 2012, http://schemas.google.com/blogger/2008/kind#post, msp, patch, sccm, SCCM 2012, windows 7, windows 7 x64 on June 26, 2013
There are several blogs on this topic; however, some seem to be lacking one or more details or may not show how to patch and customize Adobe Acrobat Reader XI. In this blog, I will show you how to patch, customize and deploy, via SCCM, Adobe Reader XI (11.0.03).
Pre-requisite: Make sure you have installed Adobe Customization Wizard XI
- Download the latest version of Acrobat Reader from Adobe’s FTP site.
- The direct FTP link is: ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.03/en_US/
- We’re going to download the EXE file: AdbeRdr11003_en_US.exe
- Next, from an administrator command line, we’re going to extract the MSI from the EXE file using the following command: AdbeRdr11003_en_US.exe -nos_o”c:\SomeDirectory” -nos_ne
- Do not close this command line window as we’ll use it again.
- For this example I’m extracting the contents to C:\temp\Adobe XI (11.0.03) folder.
- Once we’ve extracted the source files from the EXE file, then let’s run (as an administrator) the Adobe Customization Wizard XI to create the MST file that we’re going to use to customize Adobe Reader XI.
- If the customization wizard isn’t run as an administrator, you won’t be able to save the package.
- Basically, we’re going to make changes in the the following sections:
- Personalization Options
- Installation Options
- Shortcuts
- WebMail Profiles
- Online and Adobe online services Features
- Once the customization options have been completed, proceed to click on Transform menu option then click on Generate Transform…
- Save the MST file in the same folder where the Adobe Reader MSI exists.
- For this example, we’re going to save this file as AcroRead.mst
- Next, click on File and then click on Save Package.
- Back to the command line and let’s create an Application Installation Point (AIP) in order to patch Acrobat Reader.
- In the folder where the MSI file was extracted, you’ll notice that file AdbeRdrUpd11003.msp is located there – that’s our patch file that we’ll be applying.
- For this example we’re going to create a new folder – C:\AdobeAIP
- From the command line, in step 3, we’re going to create the AIP with the following command: msiexec /a AcroRead.msi
- Once the wizard comes up, make sure to point it to the folder created in step 8.2
- Make sure you run this command from the folder in step 3.
- Take a look at the files extracted
- Change directory to folder C:\AdobeAIP
- Now we’re ready to patch the Acrobat Reader source files, let’s use the following command: msiexec /a AcroRead.msi /p “c:\temp\Adobe XI (11.0.03)\AdbeRdrUpd11003.msp”
- This will open a wizard window; make sure there are no error messages during this task.
- If the patching process was successful, then we should now have a patched Acrobat Reader XI installation as well as a customization file.
- From Step 3 folder (C:\temp\Adobe XI (11.0.03)), copy the MST file to the Step 6 folder (C:\AdobeAIP)
- At this time, folder C:\AdobeAIP should contain a patched Acrobat Reader XI as well as the customization file. We’re going to use the contents of folder C:\AdobeAIP as our deployment files to create our SCCM 2012 deployment package.
- Copy all contents of C:\AdobeAIP to the share that SCCM uses to deploy applications in your environment.
- Let’s create a new application deployment package in SCCM. First, go to the Software Library section, and click on Application Management and then click on the Applications container to create the new package.
- Right click on the Applications container then click on Create Application option.
- Point to the network share where you copied the files in Step 15 and select the file AcroRead.msi
- You may get a warning message about not being able to verify the publisher of this MSI file, just click on Yes.
- In the General Information wizard screen, in the Installation program field, add the following:TRANSFORMS=”AcroRead.mst”
- This line should read: msiexec /i “AcroRead.msi” TRANSFORMS=”AcroRead.mst” /q
- Continue accepting defaults until the application wizard finishes.
- Now, you can deploy this new application to a selected number of computers or users.
A disk controller driver nightmare from hell!!
Posted by edwgon in bios, boot process, DELL Optiplex 990, disk drivers, drivers, http://schemas.google.com/blogger/2008/kind#post, Intel C200 Chipset, windows 7 x64 on June 14, 2013
Recently we started the deployment of Windows 7 Enterprise (x64) throughout the company that I work for. The targeted hardware were DELL Optiplex 980, 990 and 9010 model desktops. The nightmare began after deploying several Optiplex 990 models. We use Microsoft System Center Configuration Manager 2012 SP1 to deploy the OS and applications to these desktops.
After deploying over 20 Optiplex 990 models, we noticed that on some 990s we were getting continuous BSOD’s after a day or two (the BSOD’s also came after a week of having the computer in production!). After a desperate call to Microsoft, it was determined that the BSOD code was a generic hardware error code. However, Microsoft was unable to pin-point the issue after 3 weeks of troubleshooting!
The one thing that came to mind was that the recent models that I deployed were older model Optiplex 990 desktops (possibly 2012 and very early 2013 models) , but at that time I failed to look into this clue. Luckily, and I mean luckily, I was able to catch the culprit of this nightmare, and here are the screenshots.
Note: disregard the failed PCI driver controller installation
Basically, you’re looking at a hijacked SATA driver installation!
These DELL Optiplex 990 models come with a SATA drive and controller installed. As a matter of fact, when Windows 7 Enterprise gets installed, SATA drivers are loaded for this computer; however, sometime post installation Windows finds, or detects, an IDE ATA chipset and without any warning, it installs the Intel(R 6 Series/C200 Series Chipset drivers!
To make matters worst, I’ve configured the OS Deployment in SCCM to use native DELL drivers specific for this computer model, yet Windows Updates comes a day or two later and replaces them with the Intel(R 6 Series/C200 Series Chipset drivers.
The quick, and lazy fix, is to go to the BIOS and change the drive controller settings from Raid On (default setting) to ATA.
I’ve yet to identify the reason why this change in disk controller drivers.
Identify Drivers Loading During Windows 7 Boot Process
Posted by edwgon in boot process, HKLM, http://schemas.google.com/blogger/2008/kind#post, recovery, registry, restore, windows 7, windows 7 x64 on April 18, 2013
This article is somewhat not complete, and it may contain some incorrect definitions, but it’s out there mainly for reference. Updates coming soon!
- Open Regedit and go to HKLM
- Expand HKLM\Select and look at the value of Current key
- Based on the value of Current key (1, 2 or 3), select the proper HKLM\System\ControlSet00x
- Expand HKLM\System\ControlSet00x\Control\Class
- Under Class you’ll get a list of drivers that load during the boot process of Windows 7
- In each driver entry, under the Class folder, look for the following keys: LowerFilters and UpperFilters – these are some of the drivers that load during the boot process
Recent Comments