Monthly Archives: May 2012

AVG 271.1.1/3292 Kills Windows 7 X64 machines

Had an issue with a clients laptop not booting into Windows – after some debugging, found STOP message as below:

STOP: C0000135 Program can’t start because %hs is missing. Try reinstalling the program

Turns out an AVG update is the cause. To resolve, follow

Also make sure to run startup repair before booting into the OS. 





Tagged , , ,

Trend WFBS Advanced install on SBS 2011

Had an issue today installing Trend WFBS 7 on a clients new SBS 2011 box. Updates were installed pending reboot so Trend was complaining about a reboot needing to be done before the install. After the reboot, still got the same error.

“The security server cannot be installed on this computer because the system has installed a Windows Update without having been rebooted. Please reboot the computer before proceeding”

Solution is to run the install as another admin user.

Tagged , ,

List users in Office 365 using Powershell

  1. Open the online services module for powershell
  2. Connect-MsolService
  3. Get-MsolUser
  4. Get-MsolUser | Export-Csv c:\allUsers.csv
  5. get-msoluser | select DisplayName, UserPrincipalName > c:\allusers2.csv

Cisco 887G and PCEX-3G-HSPA with Telstra NextG

Before starting any configuration, it would be an idea to check with Telstra and find out what agreement the client has as i’ve had troubles with basic data packs not agreeing on an IP via the telstra.internet APN; and forget support from Telstra as they will yell at you telling you they don’t support Cisco routers. If your faced with this situation, ask the rep to add the extranet service (Please note; YOU WILL NEED TO BE ON A POSTPAID/PLAN TO HAVE THIS SERVICE ADDED) and use the telstra.extranet APN.

We’ll then need to confirm the IOS as i was caught out by an earlier IOS not recognising a module; on bootup, i would see an event;

*Jun 24 10:01:39.927: %CISCO800-2-MODEM_NOT_RECOGNIZED: Cellular0 modem not RECOGNIZED.         Carrier id not available or invalid! Replace it with Cisco supported modem and         reload the router.

The IOS on the above router was c880data-universalk9-mz.150-2.T1.bin. I’d upgraded it to c880data-universalk9-mz.151-2.T1.bin and we were good to go. Another gotcha on new 3G cards is to make sure the SIM is not locked via PIN. If so, you can unlock by either inserting it into a phone and unlocking that way or  by using the following command via the Cisco;

 Cisco887#cellular 0 gsm sim unlock <4digitpin>

When all the above is said and done, we need to establish which APN the service will be making a call to. Most typical data plans are for the telstra.internet APN however as mentioned, i’ve had trouble with this APN and instead used the telstra.extranet APN with no probs (once again, you’ll need to have this service added to the plan). Once we agree on an APN, we create a profile. Further note, ALL commands are done at the global level.

Cisco887#cellular 0 gsm profile create 3 telstra.internet ipv4 chap dummy dummy

You’ll notice  i’ve added authentication; this isn’t required however in the event that you need to use an APN such as telstra.corp (which requires authentication), you can modify the profile accordingly. Once the profile is created, we can view. Here you’ll see what IP you’ve been assigned, which APN your connected to etc;

Cisco887#show cellular 0 profile

Next we need to configure the old age AT (Attention) commands which the dialer will impose on the WIC. Please note, this command is CASE-SENSITIVE.

Cisco887#chat-script internet "" "ATDT*98*3#" TIMEOUT 30 CONNECT

If we had created a GSM profile with number 7, our chat-script would look like this

Cisco887#chat-script internet "" "ATDT*98*7#" TIMEOUT 30 CONNECT

Now we need to configure the line interface which will be making the call; on the 800 series, this is typically line 3. I had the below TX and RX speeds, you can throttle as required.

line 3  
exec-timeout 0 0  
script dialer internet  
modem InOut  
no exec  
transport input all  
rxspeed 7200000
txspeed 5760000

Now we need to configure a Dialer interface; this will simply negotiate an IP with Telstra. The key to this interface is the Dialer string <chat-script>. In our case, Dialer string internet.

interface Dialer1 
ip address negotiated 
ip virtual-reassembly 
encapsulation ppp 
dialer pool 1 
dialer idle-timeout 0 
dialer string internet
dialer persistent 
dialer-group 1 
no cdp enable

Now we need to configure the Cellular interface as below

interface Cellular0 
no ip address 
ip virtual-reassembly 
encapsulation ppp 
load-interval 60 
dialer in-band 
dialer pool-member 1 
dialer-group 1 
async mode interactive

Before we finish up, Telstra recommend running AT commands on the HWIC. In order to do so, we’ll need to telnet to the HWIC module. This can be accomplished by creating a loopback interface (on any address) and telnet to that interface on port 2003; Please note, this port number is not a global as i’ve seen documentation for the 1800 series routers requiring port 2002. Typically though, you’ll find that the port number corresponds to the line number. With some 887 routers that have integrated AP’s, you’ll find you can telnet to the AP on port 2002 as it corresponds to line 2. First, we’ll create a loopback interface.

Cisco887(config)#int loopback0
Cisco887(config-if)#ip address

Now, we’ll need to telnet to this address on port 2003. On success, you should see that the port is “open” and you’ll be presented with a blank menu. Begin typing in the commands as below; again, these commands are case-sensitive.


Also just lastly, Telstra recommend locking the GSM card to the 850MHz Next G Network for best performance. We can either set this via the IOS CLI or AT commands.

 Cisco887#cellular 0 gsm band WCDMA-V-850
 Or using AT commmands:

The last command will reset the module and all things equal, when the cellular interface comes up, you should see it bind to the Dialer profile and pickup an IP address from Telstra. You can verify by using either sh ip int brief orby using the sh cellular 0 profile command as above. You’ll then obviously need to configure the appopriate NAT rules, default routes etc;

Tagged , , ,

You receive “The system cannot find the file specified” when trying to remove a namespace server from DFS

Had an issue whereby defunct name servers were still appearing within the DFS console whereby trying to remove them, would indicate that “The system cannot find the file specified”. The reason is that there is an inconsistency with the namespace servers listed in AD. To resolve:

  1. Using adsiedit, locate the System\DFS-Configuration container within the domain space.
  2. Go into the properties of the DFS config file
  3. Locate the attribute remoteServerName
  4. Edit the attribute and ADD the name space server including the share path i.e. \\SERVER\Data
  5. Force AD replication across the site by opening a command prompt and issuing repadmin /syncall /AdeP (case-sensitive)
  6. Remove the name space server.

While i’m at it, there’s also a known issue whereby 2003 R2 servers will throw a 6002 error indicating the msDFSRsubscriberObject is invalid; this is a known issue and the hotfix is located at Please note, you’ll need to install this across all 2003 R2 servers participating in DFS. After installing, reboot. 

Tagged , ,

BPOS & Office 365 Password never expire


1. To disable password expiry for ALL users;

  • $creds = get-credential
  • Get-MSOnlineUser -enabled -Credential $creds | Set-MSOnlineUserPasswordNeverExpire -Credential $creds -PasswordNeverExpire $true

2. To disable password expiry for a SINGLE user; 

  • $creds = get-credential
  • Set-MSOnlineUserPasswordNeverExpire -identity -Credential $creds -PasswordNeverExpire $true

For Office 365

1. To disable password expiry for ALL users;

  • $creds = get-credential
  • Connect-MSOLService -Credential $creds
  • Get-MSOLUser | Set-MSOLUser -PasswordNeverExpires $true

2. To disable password expiry for a SINGLE user;

  • $creds = get-credential
  • Connect-MSOLService -Credential $creds
  • Set-MSOLUser –UserPrincipalName –PasswordNeverExpires $true

Transfer Outlook 2010 Auto-complete cache

Previous versions of Outlook used an .NK2 file to store the auto-complete cache however Outlook 2010 now stores this information in a .DAT file, namely Stream_Autocomplete_XXX where XXX are a string of HEX. To move this .DAT file;

1. Close Outlook

2. Browse to C:\Users\%Username%\AppData\Local\Microsoft\Outlook\RoamCache.

3. Find the file with the latest date modified and copy to removable media.

4. On the target machine, paste the file to the same directory.

5. Launch Outlook to confirm the transfer has completed successfully.

Tagged , ,

GPO Printers defaulting to Letter within Outlook 2010

Had an issue today whereby a printer mapped via GPO, even though the defaults were set to print to paper type A4, Outlook 2010 was setting the printer to print as Letter. In order to rectify this, there needs to be manual intervention unfortunately – 

1. Click File -> Print -> Print Options

2. Select Memo Style under Print Style and click Page Setup…

3. Click Paper and set the paper type to your choice


Tagged ,


Had an issue this morning at a clients whereby a Vista machine wasn’t booting; particularly during login. After inspecting the logs, I noticed the SRTSPL.SYS file was causing the stop errors; this relates to Symantec Endpoint Protection. To fix; 

1. Reboot the machine in safe mode.

2. Disable all SEP services on startup.

3. Reboot in normal mode and run a repair on the SEP install.