About Thomas.Marcussen

Technology Architect & Evangelist, Microsoft Trainer and Everything System Center Professional with a passion for Technology

Import-Mailbox fails occasionally

To import data from a .pst file, you must run the Import-Mailbox cmdlet from a 32-bit computer that has the following installed;

# 32-bit version of the Exchange management tools (download link : http://www.microsoft.com/downloads/details.aspx?FamilyId=6BE38633-7248-4532-929B-76E9C677E802&displaylang=en )
# Microsoft Office Outlook 2003 Service Pack 2 (SP2) or later versions

a few good articles ;
http://msexchangeteam.com/archive/2007/04/13/437745.aspx
http://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/exchange-2007-sp1-mailbox-management-part1.html

Check info:

1.      Please add parameter “-verbose” at the end of the Import-Mailbox and reproduce the issue, which can give us more info to narrow down the cause
2.      Is there any related error or warning event in the application log on the both client and exchange server?
3.    Make sure the mailboxes has been exported on the same version Outlook as you use on your import machine

Troubleshooting:

1. Please make sure that outlook and any MAPI connections are closed prior to running the Import-Mailbox
2. Use outlook 2003 instead of outlook 2007 on the workstation if outlook is to remain open during the process
3. If using outlook 2007, ensure that outlook is logged in using the same credentials as the Import-Mailbox PowerShell window
4. Do not launch PowerShell under the “Run As” method. Instead log into Windows as the desired account with permission to the mailbox and launch PowerShell normally
5. If running Windows XP and getting the error: “PowerShell.EXE has encountered a problem and needs to close.  We are sorry for the inconvenience” – Make sure it dosent get connected to a READ-ONLY domain controller. It will not show up in the log of a XP computer, but trying the same on a Windows 7 and it will show that it connects several times during the import, but if it at one point hits a RODC, Powershell will crash. easy solution just add static entries for the domain to your hosts file.

ConfigMgr 2007 Maintenance Tasks

Common Daily Maintenance Tasks

Some common daily maintenance tasks are listed below:

  • Verify that predefined maintenance tasks scheduled to run daily are running successfully.
  • Check Configuration Manager 2007 site database status.
  • Check site server status.
  • Check Configuration Manager 2007 site system inboxes for backlogs.
  • Check site systems status.
  • Check client status.
  • Check the operating system event logs on site systems.
  • Check the SQL Server error log.
  • Check system performance.

Common Weekly Maintenance Tasks

Some common weekly maintenance tasks are listed below:

  • Verify that predefined maintenance tasks scheduled to run weekly are running successfully.
  • Delete unnecessary files from site systems.
  • Produce and distribute end-user reports if required.
  • Back up application, security, and system event logs and clear them.
  • Check the site database size and verify that there is enough available disk space on the site database server to allow the site database to grow.
  • Perform SQL Server database maintenance on the site database according to your SQL Server maintenance plan.
  • Check available disk space on all site systems.
  • Run disk defragmentation tools on all site systems.

Common Periodic Maintenance Tasks

Some common periodic maintenance tasks are listed below:

  • Review the security plan for any needed changes.
  • Change accounts and passwords if necessary according to your security plan.
  • Review the maintenance plan to verify that scheduled maintenance tasks are scheduled properly and effectively depending on configured site settings.
  • Review the Configuration Manager 2007 hierarchy design for any needed changes.
  • Check network performance to ensure changes have not been made that affect site operations.
  • Verify Active Directory settings affecting site operations have not changed. For example, you should ensure that subnets assigned to Active Directory sites used as boundaries for a Configuration Manager 2007 site have not changed.
  • Review the disaster recovery plan for any needed changes.
  • Perform a site recovery according to the disaster recovery plan in a test lab using a backup copy of the most recent backup snapshot created by the Backup ConfigMgr Site Server maintenance task.
  • Check hardware for any errors or hardware updates available.
  • Check overall health of site.

Delete all packages from DP

Delete all packages? This should do it.

(replace MyLABServer) with site servername, and LAB with site code (in powershell 2.0):

$pkgs = gwmi sms_package -computer MyLabServer -namespace rootsmssite_LAB

$pkgs | % {$_.Delete()}

This does all classic packages.  If you want to do others, you’ll have to change the class – sms_DriverPackage, sms_ImagePackage, etc…

Disabling Task Sequence Notification Balloons in ConfigMgr 2007

Notification balloons seem to be a frequent topic of feedback from customers. There may pop up too often, or only certain users should get them, or the timing isn’t configurable enough.

Lately we’ve had multiple customers asking for a very specific feature. The AdminUI for SCCM provides the ability to disable notification balloons for normal Software Distribution packages, but not for Task Sequences.

While there are currently no plans to modify the AdminUI to add this ability, all of the necessary logic is already present in the client code; you just have to go out of your way to enable it. If the ability to disable notification balloons for Task Sequences is something that would be beneficial in your environment then you can use the script below to automate the process.

The example below needs to be run on a site server by a user who has sufficient permissions in SCCM to modify the Task Sequences in question. Running the example with no command line arguments will provide usage instructions.

There is no guarantee or warranty associated with this example. Make sure you test any utility before using it in a production environment; and, as always, make sure that you are running frequent backups and that you test the restoration procedure on a regular basis to ensure that the backups are valid.

========

Option Explicit On

If WScript.Arguments.Count < 1 Then
WScript.Echo “Usage:”
WScript.Echo ”    DisableTSNotification.vbs -all”
WScript.Echo ”    DisableTSNotification.vbs PackageID [PackageID]…”
WScript.Quit
End If

Dim strComputer
Dim siteCode
Dim objWMIService
Dim colItems
Dim objItem
Dim packageID
Dim itemFound
Dim numPackages
Dim numUpdated

strComputer = “.”
siteCode=GetSiteCode()
Set objWMIService = GetObject(“winmgmts://” & strComputer & “/root/sms/site_” & siteCode)

If StrComp(UCase(WScript.Arguments.Item(0)), “-ALL”, 1) = 0 Then
numPackages = 0
numUpdated = 0
Set colItems = objWMIService.ExecQuery(“SELECT * FROM SMS_TaskSequencePackage”, “WQL”, 32)
For Each objItem in colItems
If (objItem.ProgramFlags AND 1024) = 0 Then
objItem.ProgramFlags = objItem.ProgramFlags OR 1024
objItem.Put_
numUpdated = numUpdated + 1
WScript.Echo “Modified package ” & objItem.PackageID
End If
numPackages = numPackages + 1
Next
WScript.Echo “Updated ” & numUpdated & ” of ” & numPackages & ” packages”
Else
For Each packageID in WScript.Arguments
Set colItems = objWMIService.ExecQuery(“SELECT * FROM SMS_TaskSequencePackage WHERE PackageID='” & packageID & “‘”, “WQL”, 32)
itemFound = false
For Each objItem in colItems
If (objItem.ProgramFlags AND 1024) = 0 Then
objItem.ProgramFlags = objItem.ProgramFlags OR 1024
objItem.Put_
WScript.Echo “Modified package ” & objItem.PackageID
Else
WScript.Echo “No need to update package ” & objItem.PackageID
End If
itemFound = true
Next
If itemFound = false Then
WScript.Echo “ERROR: Package ” & packageID & ” was not found on this server”
End If
Next
End If

Function GetSiteCode()
Dim objSWbemLocator
Dim objSWbemServices
Dim ProviderLocation
Dim Location
Dim strSiteCode

objSWbemLocator = CreateObject(“WbemScripting.SWbemLocator”)
objSWbemServices = objSWbemLocator.ConnectServer(“.”, “rootsms”)
ProviderLocation = objSWbemServices.InstancesOf(“SMS_ProviderLocation”)

For Each Location In ProviderLocation
If Location.ProviderForLocalSite = True Then
strSiteCode = Location.SiteCode
End If
Next

GetSiteCode = strSiteCode
End Function

========

Changing the name or description on secondary sites

How to change name or description on secondary sites without having to reinstall…..

  1. Stop the SMS executive service.
  2. Open the C:Program FilesSCCMInboxesSiteCtrl.Boxsitectrl.cto file.
  3. At the top of the file , you find the sitecode and below that you’ll find the site desciption.
  4. Change the name and save the file.
  5. Restart the SMS Exec service.
  6. The site name or description has changed.

Keep in mind, this method is NOT supported by Microsoft !

ConfigMgr SP1/SP2 Now Supports SQL 2008 R2

This and other support announcements located here:

http://blogs.technet.com/b/configmgrteam/archive/2010/06/30/configuration-manager-support-announcements-for-june-2010.aspx

Microsoft SQL Server 2008 R2 is now supported on Configuration Manager 2007 SP1 and SP2 and Configuration Manager 2007 R2

System Center Configuration Manager 2007 SP1 and SP2 now support Microsoft SQL Server 2008 R2 as a Configuration Manager 2007 site database.  System Center Configuration Manager 2007 R2 now supports Microsoft SQL Server 2008 R2 Reporting Services.

No software updates are required.

Microsoft Application Virtualization 4.5 Service Pack 2 is now supported on Configuration Manager 2007 R2 with Configuration Manager 2007 SP2

System Center Configuration Manager 2007 R2 with System Center Configuration Manager 2007 SP2 now supports Microsoft Application Virtualization 4.5 Service Pack 2.

No software updates are required.

Hyper-V Server 2008 R2 is now supported with Configuration Manager 2007 Service Pack 2.

System Center Configuration Manager 2007 SP2 now supports client installation and all site server roles in the Hyper-V Server 2008 R2 virtualization environment.

No software updates are required.

Microsoft Windows Embedded Standard 7 is now supported on Configuration Manager 2007 SP2

System Center Configuration Manager 2007 SP2 now supports Windows Embedded 2011 as a client platform.  General limitations for managing Windows Embedded devices can be found in this article, http://technet.microsoft.com/en-us/library/bb932123.aspx,

No software updates are required.

.NET Framework 4.0 is now supported with Configuration Manager 2007 SP1 and SP2.

System Center Configuration Manager 2007 SP1 and SP2 now support the .NET Framework 4.0 with the following limitations.

 

  • Forcing the system to use only the .NET 4.0 CLR by enabling the following registry key is not supported.

 

 

HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkOnlyUseLatestCLR

 

  • .NET Framework 2.0 is required to be installed on Windows XP and Windows 2003 in order for the Desired Configuration Management (DCM) feature to check compliance.

 

 

No software updates are required.

Application Compatibility Toolkit 5.6 is now supported with the Application Compatibility Toolkit Connector.

The Application Compatibility Toolkit (ACT) Connector now supports ACT 5.6.  Limitations and workarounds for upgrade issues from ACT 5.5 are documented in the following blog post:  http://blogs.technet.com/b/configmgrteam/archive/2010/06/20/act-connector-and-act-5-6.aspx

No software updates are required.

Software Updates from ConfigMgr 2007 not working on clients

Error from WUHandler.log:

Its a WSUS Update Source type ({B4F31904-A2D1-411C-AF25-9C68F7969A31}), adding it.
Existing WUA Managed server was already set (http://<SOMESERVER>:8530), skipping Group Policy registration.
Added Update Source ({B4F31904-A2D1-411C-AF25-9C68F7969A31}) of content type: 2
Async searching of updates using WUAgent started.
Async searching completed.
OnSearchComplete – Failed to end search job. Error = 0x8024401b.
Scan failed with error = 0x8024401b.

Error from WindowsUpdates.log:

1284 804 PT WARNING: GetConfig failure, error = 0x8024401B, soap client error = 10, soap error code = 0, HTTP status code = 407
1284 804 PT WARNING: PTError: 0x8024401b
1284 804 PT WARNING: GetConfig_WithRecovery failed: 0x8024401b
1284 804 PT WARNING: RefreshConfig failed: 0x8024401b
1284 804 PT WARNING: RefreshPTState failed: 0x8024401b
1284 804 PT WARNING: PTError: 0x8024401b
1284 804 Report WARNING: Reporter failed to upload events with hr = 8024401b.

Solution:

And this is wierd!

Change the site system FQDN to lowercase (Site Database -> Site Management -> Central Site -> Site Settings -> Site Systems -> <siteserver> -> ConfigMgr Site System)

Restart the Windows Update Service on the client computer

Initiate the Software Update Scan Cycle and you are go!

Windows 7 Network Location bug finally fixed!

When deploying Windows 7 the Network Location dialog box is sometimes shown even though the machine is joined to a domain. It’s only on specific hardware but it’s quite common.

Microsoft now has a hotfix (KB 2028749) for this bug.

A “Set Network Location” dialog box appears when you first log on to a domain-joined Windows 7-based client computer
http://support.microsoft.com/kb/2028749/

Optional Workaround:

You can set a Group Policy for Network Location – Computer Configuration  / Windows Settings / Security Settings / Network List Manager Policies / All Networks. Change Network Location to User cannot change location

This is the dialog box you  might get without the hotfix…

Don’t forget about PowerCFG :)

Checkout PowerCFG…

just a few examples:

Changes plan to “High Performance”

powercfg -s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

also works from task sequence – cmd.exe /c “powercfg -s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c”
just a few exampes:

powercfg /change “always on” /standby-timeout-ac 0
powercfg /change “always on” /hibernate-timeout-ac 0
powercfg /setactive “always on”

Read more at: Using PowerCfg to Evaluate System Energy Efficiency