Cannot see RemoteApp icons for users – only administrators

Scenario

You’ve installed and configured Remote Desktop Services (RDS) on a 2008 R2 server, and configured several RemoteApp Programs to display via RD Web Access.

Despite adding your user account to the Remote Desktop Users local group, and your computer account to the TS Web Access Computers local group, the RemoteApp icons do not display when logged into RD Web Access (https://hostname/RDWeb). However, the icons appear fine when logging in as Administrator.

Here’s how I fixed it:

[Read more…]

How to reset a client PC in WSUS

Scenario

Have you ever changed the name of a computer, removed that computer from WSUS, then struggled to get the renamed computer to reappear in WSUS?

Here are a few commands that will help you get things working quickly.

[Read more…]

Copy Veeam backups to USB drive

As we are still rolling out VMware and Veeam B&R throughout our offices, we are not yet in a position to set up replication.

Until we are ready, I thought it was a good idea to at least backup the Veeam backup repository to USB3 drives, which would be rotated and taken offsite daily.

Initially I setup a ‘Veeam File Copy’ job, but later noticed it was taking ages to copy the new incremental files. It seems ‘Veeam File Copy’ jobs do not just copy the new files, but all files every time; not what I wanted.

[Read more…]

Cisco ADSL firmware upgrade and debugging

So we finally moved away from Griffin Networks broadband – which was ok to be fair…as fair as stepping on a nail every step for a mile! – and went with TalkTalk Business broadband instead.

We’re still going through the usual 10-day stabilisation period, so I’ll reserve judgement until then; although it’s already more stable than Griffin Networks!

Anyway, now that we’ve been up and running for 4 days, I thought I’d upgrade the ADSL firmware and see if that made any difference to the broadband performance.

Here’s how to upgrade the ADSL firmware on a Cisco 877W router:

[Read more…]

The synchronization with the upstream server or Microsoft Update was cancelled – WSUS Error

When initially setting up WSUS, you may get the following error when trying to synchronize with Microsoft for the first time:

“The synchronization with the upstream server or Microsoft Update was canceled”:

It took a while, but I finally fixed the problem!

[Read more…]

Exchange 2007 Error: Microsoft.Exchange.Data.Storage.StoragePermanentException

I got the following error whilst trying to log into a user’s mailbox via Outlook Web Access:

Request
 Url: https://mail.domain.local:443/owa/lang.owa
 User host address: 123.123.123.123
Exception
 Exception type: Microsoft.Exchange.Data.Storage.StoragePermanentException
 Exception message: There was a problem accessing Active Directory.
Call stack
Microsoft.Exchange.Data.Storage.ExchangePrincipal.Save()
 Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostLocally(OwaContext owaContext, OwaIdentity logonIdentity, CultureInfo culture, String timeZoneKeyName, Boolean isOptimized)
 Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostRequest(OwaContext owaContext)
 Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.PrepareRequestWithoutSession(OwaContext owaContext, UserContextCookie userContextCookie)
 Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext)
 Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext)
 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Inner Exception
 Exception type: Microsoft.Exchange.Data.Directory.InvalidADObjectOperationException
 Exception message: Property Languages cannot be set on this object because it requires the object to have version 0.1 (8.0.535.0) or later. Current version of the object is 0.0 (6.5.6500.0).
Call stack
Microsoft.Exchange.Data.Directory.PropertyBag.set_Item(PropertyDefinition key, Object value)
 Microsoft.Exchange.Data.Directory.ADObject.set_Item(PropertyDefinition propertyDefinition, Object value)
 Microsoft.Exchange.Data.Directory.ADObject.StampCachedCaculatedProperties(Boolean retireCachedValue)
 Microsoft.Exchange.Data.Directory.ADObject.ValidateWrite(List`1 errors)
 Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.ValidateWrite(List`1 errors)
 Microsoft.Exchange.Data.Directory.Recipient.ADUser.ValidateWrite(List`1 errors)
 Microsoft.Exchange.Data.Directory.ADSession.Save(ADObject instanceToSave, IEnumerable`1 properties)
 Microsoft.Exchange.Data.Storage.ExchangePrincipal.Save()

Turns out a mailbox attribute version was wrong:

Exchange Server 2007 and Exchange Server 2010 both use the msExchVersion attribute to determine the version of Exchange Server with which user objects are associated. If the version value is less than 0.1, Exchange Server 2007 or Exchange Server 2010 considers the user object as Read-only.

Find out the attribute version by running:
Get-Mailbox [username] | format-list ExchangeVersion

And fix by running:
Set-Mailbox [username] -ApplyMandatoryProperties

Find out more here: http://support.microsoft.com/kb/941146

Men can’t multitask right?

Wrong!
20120309-201849.jpg

This is a common sight on my desk, and although small, I always say you can never have enough screens. Actually, I’m getting a bigger desk soon – time for another monitor 😉

The iPad really comes in handy as an extra screen for reference material, whilst working between my PC and multiple servers via RDP and the excellent Remote Desktop Connection Manager.

How to remove stubborn Printer Drivers

I posted a How to Remove Printers guide on the excellent Spiceworks Community some time ago, but the link to the Printer Deleter has already changed a few times.

In the event that the link breaks again, you can download the Printer Deleter here instead.

If that doesn’t work, the final option is to reset the print spooler to factory defaults. You can do this by running Reset Print Spooler – MicrosoftFixit50126. Here’s some info on using it:

This Fix it Solution automates resetting the Print Spooler on Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008.

The Fix it has two modes: Light and Full.  The light mode will make changes to the spooler that should not require the end user to make any changes.  The full mode will restore the print spooler to defaults and require a reinstall of printers.

Troubleshooting slow network applications with Wireshark

I’ve had some fun today troubleshooting the intermittent network slow down we get at work. Through absorbing several articles, videos, and forum posts, I think I have found a better way of troubleshooting slow network applications.

[Read more…]

How to delete a protected OU in Active Directory

Taken from http://technet.microsoft.com/en-us/library/cc736842(v=ws.10).aspx

To remove protection that prevents an OU from accidental deletion:

  1. Log on to the computer as a member of the Domain Admins group.
  2. Open Active Directory Users and Computers.
  3. Click View, and then click Advanced Features.
  4. First, clear permissions on the OU for which you want to remove protection. To do this, right-click the OU, and then click Properties.
  5. In OU Properties, click the Security tab, and then click Advanced.
  6. In Permission Entries, select the Deny entry for the Everyone group, and then click Remove.
  7. Click OK to close the Advanced Security Settings, and then click OK to close OU Properties.
  8. Second, clear permissions on the parent container of the OU for which you want to remove protection. To do this, right-click the parent container, and then click Properties.
  9. In ContainerProperties, click the Security tab.
  10. In Group or user names, select the Everyone group, and then clear the Deny check box for Delete All Child Objects, and then click OK to close Container Properties.

EDIT

A much easier way is to make sure View > Advanced Features is ticked in Active Directory Users and Computers, then right-click > Properties on the object of choice, navigate to the Object Tab, then untick Protect object from accidental deletion: