IT

Network Printers keep disappearing from Directory Services

Hi,

Just had an issue where some new print servers were commissioned – Windows Server 2012, with local printers installed connected to IP addresses of network based printers, and then shared and listed in the directory:

list in directoryPretty common stuff. There’s even a Technet article on how to do this http://technet.microsoft.com/en-us/library/cc737008(v=ws.10).aspx

Our problem was that after a few days, every single printer from a server would drop off the directory. We could get them back by removing and adding the tick for ‘List in the directory’ and waiting 5 minutes, but that’s a rather painful and temporary fix. You can also restart the Print Spooler service and wait as it will republish the printers, but that’s non-permanent resolution.

Doing a bit of research (yes, googling) I found an old thread here http://www.techsupportforum.com/forums/f103/solved-network-printers-disappearing-from-directory-161202.html and a similar Microsoft support article here http://support.microsoft.com/kb/246906/en-us that both indicated the easist way is to disable Printer Pruner on each Print Server via Group Policy:

pruning

As per the screenshot, the three settings you want to disable are:

Directory pruning interval
Directory pruning priority
Directory pruning retry (ok this doesn’t really matter if the top two are disabled, but no harm)

This will stop the server doing any sort of pruning – and hey, if you want to remove a printer from the directory, you remove the tickbox.

As a side note, if you’re not already using Print Management – start using it. Step by Step guide from Technet here: http://technet.microsoft.com/en-us/library/cc753109(v=ws.10).aspx

Why use Print Management? It lets you centrally manage all Network Printers, their drivers, and has a bunch of handy options like deploying to Group Policy. Trust me, it’s worth having a look! You just need to add the “Print Services” role to a server, then add the feature “Print Services Tools”.

 

ASUS Warranty Repair wants my Password?

Hi,

Last year I bought an ASUS laptop for my wife – an ASUS Vivobook S400CA which isn’t too badly specc’d with a small SSD drive and touchscreen. All seemed OK, apart from a somewhat dodgy spacebar that had to be pressed rather hard. We lived with that for a while, but got fed up so decided to log a fault on it.

I first started with calling the place of purchase – JB Hifi, who said I had to go to the manufacturer (I don’t *believe* they can legally say this under Australian Consumer Law, but that’s an aside issue) so I contacted Asus. I gave them all the necessary details, and was told I’d be contacted by the local Asus Repair Centre. A few hours later they called me, and said instead of posting it in, I could drop it off – fine by me as it was just down the road.

Upon arriving at the Asus Repair Centre, I am given more paperwork to fill out. It’s become obvious that this isn’t actually Asus, but a company that does work on their behalf. Again, no issue here as long as someone’s fixing the laptop. One of the fields on the paperwork asks for a ‘Password’. I query the person at the counter on this, asking why they need such a detail, especially since this is a faulty spacebar… and even if they really need to test it, the login screen will let them try.

The response was that because they did work on behalf of Asus, they had to test everything and give it a tick of approval, otherwise people will bring back their items with other faults and Asus has to keep paying this company each time that occurs. I can understand where they’re coming from, but they don’t need to log into my personal installation of Windows to do this surely? They said it was a necessity and they couldn’t accept the laptop without it.

I immediately logged in, created a temporary account with as little access as I could, and gave them the details. There wasn’t anything personal on this laptop that I knew of, but it’s still a worrying state.
I’m sure many of you will read this and just shake your heads, but here’s some reasons as to why this is bad practise:

  1. Giving them access to the laptop means they can easily go through it’s contents. Unless you’re computer savvy, you’re going to have little idea what access they actually have by handing over a login.
  2. These laptops run Windows 8 – Microsoft promotes the use of a Microsoft account for login. This login doesn’t just give local access to the laptop, but any service connected to the Microsoft account – Xbox, Hotmail/Outlook.com, Skype, SkyDrive – scary stuff.
  3. Someone logging a warranty claim should be told that this is a requirement before you turn up and get asked for credentials.
  4. When is it ever a good idea to write down your password on a piece of paper and hand it to a stranger?

I’m not sure if this is Asus’s own process, or just a process this particular 3rd party uses – but either way, this is something they should reconsider their policies and method. My recommendation would be for them to boot off a USB or CD to run diagnostics on the hardware, simple.

Note: I sent a tweet to Asus’s Australian twitter account @ASUSAU for comment but did not hear back. If I do hear anything, this article will be updated.

What Happened To My Email? Mailbox Audit Logging

Hi,

A very common question. An email goes ‘missing’ from someone’s mailbox, and they want to know what happened. A fair enough question – rarely is it a fault of your Exchange servers, but it’s your problem to prove otherwise.

You can use Message Tracking (details here http://technet.microsoft.com/en-us/library/bb124926(v=exchg.141).aspx, and a great guide here http://exchangeserverpro.com/exchange-2010-message-tracking/) but that will just prove the email hit the person’s mailbox, which often we already know because they saw it. Keep in mind this won’t help you for past events, but if someone is making multiple claims of emails going missing you can enable this to find out for the next occurance.

To prove what happened next, you can use the Exchange 2010 and greater feature called Mailbox Audit Logging. This will track actions on individual emails, and save the log inside the person’s actual mailbox. This can not only log what the user themselves does, but also delegates and administrators. To see what you can log, have a look at this Technet article: http://technet.microsoft.com/en-us/library/ff459237.aspx

There is also a great guide from Paul Cunningham to get you started: http://exchangeserverpro.com/exchange-2010-mailbox-audit-logging/

My scenario requires a few more commands, as I want to log all actions rather than the default which doesn’t log anything the owner of the mailbox does.
First, enable MMailbox Audit Logging on the mailbox you’re concerned with via Powershell:

Set-Mailbox -identity Adam.Fowler -AuditEnabled $true

Easy. Now, if you run this command:

Get-Mailbox -identity Adam.Fowler | fl *audit*

You will see a few results. AuditEnabled should be true, and you’ll notice by default there are some different options between AuditAdmin, AuditDelegate and AuditOwner, with AuditOwner having no settings at all. To enable all possible logging options, for the Owner of the mailbox, run this command:

Set-mailbox -identity Adam.Fowler -AuditOwner Create, HardDelete, Move, MoveToDeletedItems, SoftDelete, Update

You can then run the previous command to see the extra options show up. Now that Mailbox Audit Logging is running on the mailbox, logs start to get generated. Once a few actions have been run on the mailbox, you can start looking at the results. Technet have some good examples here: http://technet.microsoft.com/en-us/library/ff522360.aspx

One example is if you are looking for an email with a subject that contains the word “test” within a date range:

Search-MailboxAuditLog -Identity Adam.Fowler -StartDate 7/21/2013 -EndDate 7/21/2013 -showdetails | where-object {$_.ItemSubject -like “*test*”}

If you want a glance at how many results you’re seeing, filter just to show the subject of each result and what happened to it (operation):

Search-MailboxAuditLog -Identity Adam.Fowler -StartDate 7/21/2013 -EndDate 7/21/2013 -showdetails | where-object {$_.ItemSubject -like “*test*”} | fl itemsubject, operation

Once you find the result you’re looking for, you’ll see a lot of helpful information – especially what device did the action. For example, under the ClientInfoString I can tell a particular action was done by my account on a Samsung Galaxy S3 via ActiveSync (aka Samsung I9300)

ClientInfoString : Client=ActiveSync;UserAgent=SAMSUNG-GT-I9300/100.40102;Action=/Microsoft-Server-ActiveSync/default.eas?Cmd=Sync&User=adam.fowler&DeviceId=SEC10FE7073DAC69&DeviceType=SAMSUNGGTI9300

The Operation field tells you what action was taken (e.g. MoveToDeletedItems), you’ll also get FolderPathName and DestFolderPathName (where the email went from and to). Of course this will help identify if a delegate has been cleaning up the owner’s emails, but also if a certain device they have is doing something it shouldn’t.

I would recommend only using Mailbox Audit Logging when required, due to the small amount of extra space and load you’ll use on your mailboxes, you would need to do extensive testing before enabling company wide.

Good luck!

Lync Issue – Deskphone Answers When Delegate Picks Up Call Via Headset

Hi,

Sorry I couldn’t make that headline any shorter! This issue was bugging us for a while, and finally found the answer.

 

Scenario:

Lync 2010 with Enterprise Voice. User A sets up User B as a Delegate for calls, and sets their phone to forward or simultaneously ring to User B via the Delegates option as per this screenshot:

delegates

User B has both a Lync desk phone tethered to their computer via USB, and a headset plugged into their computer. User B answers the call either by clicking on the incoming call toast, or pressing their headset button. Even though their Lync client is set to use the headset as the default device, the desk phone answers the call in speaker mode.

Resolution:

This seems rather weird, especially if you call User B direct they can answer the call straight to their headset. We spent quite some time testing this, trying different options, upgrading firmware, uninstalling/reinstalling anything we could think of until finally I found this technet post: http://social.technet.microsoft.com/Forums/lync/en-US/6e1f9d63-a403-4589-868f-1bd6a1a5e440/lync-delegate-bug?prof=required – scroll down to the last post by William Curley which has this exact problem.

The annoying part is that he claims that Microsoft classify this scenario as a ‘not supported scenario’. The best fix for this is to use Team-Call Group instead of Delegate, but you do lose the ability for Delegates to manage User A’s calls and make meetings on their behalf. This apparently applies to Lync 2013 also, but I don’t have that running to verify.

Lync also won’t like it if you set User A and User B to be delegates for each other, weird things start happening with who’s voicemail the call goes to.

The safest suggestion I have is to just avoid the Delegate option altogether if you use Lync with Enterprise Voice.

I hope this information saves someone a lot of time!

Update 17/10/2013: It looks like Microsoft have released a patch to fix this. http://support.microsoft.com/kb/2889646/en-au has the long title of “PSTN call is routed to an Aries telephone in speaker mode when a delegate answers the call in Lync 2010 by using a USB headset” which fits this exact scenario. It’s a part of the cumulative update for Lync 2010 October 2013 which is available for download, but not in the update catalogue for WSUS servers yet.

Powershell for Resource Information in Exchange 2010

Hi,

I came up against an issue today, where the person looking after calendar bookings for some newly created rooms (which was a resource) in Exchange 2010, could not see a lot of the information on the appointments. The subject had changed from whatever the person booking had written to their own name and the comments were missing. Coming from Exchange 2007 I hadn’t seen this before, but delved into the ‘Resource Inforamtion’ tab on one of the rooms. Rather quickly I realised this was happening by design, and the default options from Exchange:

Resource Information

 

So, for my scenario I wanted to remove most of these options, as we wanted the people with full access to the calendar to be able to see these things. I can understand having this disabled by default, as it’s really a business decision to make on who should see what. For me, I wanted to have the appointment unaltered which means removing “Delete attachments”, “Delete comments”, “Delete subject”, “Delete non-calendar items” and “Add the organizer’s name to the subject” (this one is just for less confusion, and you can still see the organiser from the attendees on the appointment itself). “Remove the private flag on an accepted meeting” I’d rather keep, if someone’s actually marking the meeting as private there’s hopefully a good reason.

Anyway, changing these options works perfectly, but doing it on a mass scale isn’t fun via the GUI. Powershell time!

I want to change this for all my Room Resources. First, you can get your list of Room Resources with this command:

Get-Mailbox -RecipientTypeDetails RoomMailbox

After confirming you see the results that you expect, you can pipe that into a command to turn off the required options. As a single command it would be this:

Set-CalendarProcessing -identity “Roomname” -DeleteAttachments $false -DeleteSubject $false -DeleteComments $false -DeleteNonCalendarItems $false -AddOrganizerToSubject $false

And merging the two together will be (dropping the -identity):

Get-Mailbox -RecipientTypeDetails RoomMailbox | Set-CalendarProcessing -DeleteAttachments $false -DeleteSubject $false -DeleteComments $false -DeleteNonCalendarItems $false -AddOrganizerToSubject $false

That’s it. All your rooms will now have the options you want. There’s a great article on MSExchange that covers this and a lot more: http://www.msexchange.org/articles-tutorials/exchange-server-2010/management-administration/resource-mailboxes-exchange-2010-part4.html and also has a table of the options on this screen and the relevant powershell parameter.

Good luck!