I’ve been working on a case with Microsoft’s Office365 support for several weeks trying to find out why email sent *to* a particular user was not being journalled. All the other mail seemed to be journalled to the external recipient, email from the user was working, just not email to that user.
The experience was quite frustrating as Microsoft’s support were terrible at calling back and could not grasp the concept of email tracking. Their solution after making a change was to wait a day to see if it was fixed although it was quite apparent that the Microsoft servers were not even trying to send the email (by looking at the Trace Logs you can see what email was being sent and received).
After checking the connectors were setup, mail properly scoped, the user had no rules on their mailbox, Microsoft’s solution was to delete the mailbox and reset it up again. Not so easy when the mailbox/user is federated with Active Directory and the user happens to be the owner of the company. That was not a conversation I was going to have with them!
The only thing that was different with this user was that in troubleshooting this issue we had set the user up to receive the journalling non delivery reports. I figured that if the emails were not being delivered, maybe sending him the errors would help. However no reports were being received either. However, according to KB 2829319 this behaviour can be seen. Although I had removed the journal receipient in the web gui, the emails were still not being journalled until I added another external email address to the configuration using the powershell command set-transportconfig -JournalingReportNdrTo firstname.lastname@example.org
At this point, all the email started to be journalled.
Note that we only added the recipient into the mix when I was trying to work on the initial problem so it looks like this wasn’t the only fix.
The other thing we did was change the outboundconnector to be onpremises. Changing the setting in the GUI we then ran Set-OutboundConnector archivemymailconnector -routeAllmessagesviaonpremises $true.
These two combinations seemed to fix the issue.
One thing I also learnt was that it is really useful to send multiple emails between changes and keep the subject line starting the same. Use the date/time at the end of the email. That way you can sort the email logs by Subject and just pick out the ones you were working on. By having the subject start with zzz followed by Round X (ie zzz Round 1 – change connector – 1345pm and zzz Round 1 – change connector 1346pm ) then the results are likely to appear at the end of your mail logs if you sort by subject. Sorting by Date was not always a good idea as mail flow could occur between mail coming into the server and mail leaving the server.
This morning I was working on a Sites and Services issue for a client and part of the troubleshooting process was to run the Best Practice Analyzer on the domain controller. One of the results was to enable client fallback to the local netlogon and sysvol share after the local domain controller comes back online again. This reduces traffic across the network. I’m not quite sure why this is not enabled by default.
The BPA points to the technet article DFS-N: Client failback should be enabled for the Netlogon and SYSVOL folders on domain controllers. Scrolling through the page I was pleasantly surprised to see my avatar at the bottom with a comment on improving the documentation with the actual registry keys that needed changing. Not only was my comment on the page, the original web page had been updated to include the information.
It’s nice to see content updated based on user feedback. It’s not nice to see that I had this problem 3 years ago 😉
I have been battling this install for 2 days so far and not getting anywhere. There are a ton of sql prerequisites and the install error messages are very vague, like this message below:-
Surely it can’t be that hard to display the version of SQL server that is detected.
I’m currently following Harold Wong’s System Center install guide along with Matthew Peter’s guide and downloaded the Cumulative update 10 for SQL.
Attempting to install this patch on the server gives the error message below.
The stupid thing about this is that neither 10.51.2500.0 or 10.1.2531.0 are valid sql version numbers. Select @@version returns the accurate 10.50.2500.0 which is sql 2008 r2 sp1 but it ignores the previous cumalative update that I’ve already installed.
So far my hopes for System Center have been severely dashed and buried in the ground. It’s a good job we don’t have windows in this office or I’d be tempted to set fire to the server and chuck them out of the window.
It’s been a long start to the new year.
fighting working with SharePoint for about a week and trying to get the Search Service started on my SharePoint Server. The only thing that seemed consistent in all the troubleshooting was that the SharePoint error messages were only slightly more helpful than “An error has occurred”. I ended logging a PSS support call with Microsoft and didn’t get very far for a while. My SharePoint farm consisted of the SharePoint Server and a separate SQL server to host the data and attempting to start the service I would get ‘Could not access the Search administration database. A generic error occurred while trying to access the database to obtain the schema version info.’
There are several other posts out there on updating the version of SharePoint to the latest Service Pack, Installing the latest cumulative update(2598321) and ensuring that the protocols were enabled on the SQL instance. All things I corrected, applied and did not fix the issue. (Note that installing the latest cumulative update DOES require a reboot and may stop SharePoint working until you do reboot – so make sure you install this out of hours.)
Upgrading the database is done with ‘psconfig -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures’ After running this command I noticed that the checking the status of the server with (get-spserver servername).NeedsUpdate would work fine on the SQL server, but running against the SQL server from the Sharepoint Server, it would tell me the database needed updating.
On one of my servers, Add/Remove Programs said that the hotfix was not required yet the Admin console on the website said it was. This issue was fixed with a “psconfig -cmd installcheck -noinstallcheck” (Thanks to http://tinyurl.com/7pkrbem)
After starting the service on the sql server instance, we wanted to get the SharePoint Server working as originally intended. After a long time of troubleshooting, our next step was to uninstall the SQL Native Client and reinstall it. As I went to uninstall the Native Client, Add/Remove programs told me the package was not installed. A repair or modify would not work either. Opening Regedit and searching for Native Client under HKey_Classes_Root\installer and deleting this key meant I was then able to reinstall the NativeClient.
We then tried starting the service and this time it worked. The strange thing is that some communications between the SharePoint server and the SQL server were obviously working fine – the database on SQL was created with no problems and SharePoint could see the data – it’s just weird that the initialising/upgrading of the database required the SQL native client but did not give any useful information that pointed to this fact.
One of the advantages of a Technet subscription is access to the (MDOP Microsoft Desktop Optimization Pack) software including the Diagnostics And Repair Toolkit (DART). Unfortunately it took me a while to find it under the downloads today as MDOP does not appear under the list of downloads. However searching for Desktop Optimization Pack finds it. (You need to log into the Subscriber Downloads for this link to work). You’d be surprised how inaccurate the Google results for MDOP download on Technet results are.
After several hours of work today, Powerpoint suddenly gave the error message “PowerPoint was unable to display some of the text, images, or objects on slides in the file, filename because they have become corrupted. Affected slides have been replaced by blank slides in the presentation and it not possible to recover the lost information. To ensure that the file can be opened in previous versions of PowerPoint, use the Save As command (File menu) and save the file with either the same or a new name.”
Now it is all very well giving a really verbose error message, but to totally blank out slides and wipe out missing data is a very peculiar way of fixing the issue. It looks like a hotfix was released in May 2011 but in our case, I saved the file to a usb drive, copied it across to my machine that had office 2010 installed and then opened the file in Powerpoint 2010. I was able to open the file but this time I got another warning about some data being corrupted but the slides that were empty in 2003 were displayed ok. I then resaved the file back to a new filename on the usb drive, opened the new file back in 2003 and we were really relieved to have a working powerpoint file to continue working on.
Not only is the data back, it also means another 4 hours of work does not need to be repeated and instead more time can be spent surfing waves – a great result all around.
You can thank me later 😉
On my way home from work late the other night I was listening to episode 152 of the Mind Of Root Podcast where Keith and Steve interviewed Ed Wilson from the Hey Scripting Guy! blog. It was a really interesting podcast and explained their goals to get users learning Powershell and push out some best practice ideas. So far I like the power of Powershell but I’m finding the learning curve pretty steep. Especially as I can do a lot of my scripting requirements within a normal dos batch file in a lot fewer lines than Powershell requires. However I do understand that Powershell provides a lot more functionality, especially when built into products such as BPOS, exchange etc.
The next weekend I found Ed’s scripting blog, read a few articles, commented on one about using streams.exe to unblock zip files (been there, done that – very frustrating to find out you should unblock a zip file before extracting many thousands of files) and then subscribed to the blog feed.
Unfortunately the blog posts lost all their formatting when reading the rss feed so something that looks nice and clear on the webpage
looked horrendous when viewed in Google reader – there are no line breaks, text formatting or anything else that makes the blog post easy to read.
I’m not quite sure why the post is a garish pink colour either, but I could live with that.
A quick look through other blogs hosted on blogs.technet.com show that formatting can be preserved (see Matt Hesters Blog feed) below so I sent an email to Ed Wilson to see if the settings could be changed.
He responded back the next day and said he would pass the request onto the webmaster. Since then I’ve been checking the rss feed and the website and today everything is displaying correctly (it looks like the switch started yesterday). So thanks to Ed and the Technet website admins – the change is really appreciated. Hopefully this makes the reading of the blog easier for everyone else too!
We had a weird issue this morning after applying windows updates to a server and found that the server had rebooted into safe mode. We tried various methods of forcing the server back to normal mode through the F8 prompt, even attempting a Windows Repair from cd but nothing seemed to work.
In the end we ran “bcdedit /deletevalue safeboot” from the command prompt, rebooted the server and it came back up in normal mode. There was a long, very dramatic pause, whilst the server reverted changes to the windows updates but we were eventually able to log back into the server. We then took a snapshot and installed the windows updates 50% at a time – and of course, this time every patch installed successfully.
I suspected that the server was reading the bcd and booting into safe mode, but I’d have thought that pressing F8 and selecting normal mode would have overwritten this selection – obviously I was wrong.
I really long for the good old boot.ini days.
The Technet article “Restart the domain controller in Directory Services Restore Mode Remotely” gave us the bcdedit commands to run. It was amazing how many google hits there are for failing to restart a server in safe mode (oops – here’s another one), but not many on how to stop a Windows 2008 Server from starting in safe mode.
I’ve had an issue with a new SBS2008 server, running Exchange service pack3 rollup 2 where the information store service does not start after a reboot, especially annoying after the server is rebooting with a scheduled maintenance task. Apparently this issue was fixed in service pack 1, roll up 5 but I’m still getting it 2 service packs and 2 rollups later.
Microsoft have a “fast publish” knowledge base article 940845 and the first solution is to start the services manually – really helpful! Thankfully there are other solutions that involve changing the dependencies of the services to ensure Exchange does not try to start before AD has finished.
One word of warning – using the Microsoft KB to determine the latest service pack or rollup for Exchange 2007 returns Service Pack 3, rollup 1 from http://support.microsoft.com/kb/937052. However Rollup 2 has been available since Dec 14th 2010. I’ve put a note on the original kb article but the better way to determine the latest rollup is probably to search for Exchange 2007 service pack 3 rollup
Update Knowledge base 940845 now has a fixit file you can download that will change the dependencies for you along with instructions on how to fix it manually. The article no longer has references to this issue being fixed in previous rollups – probably because this was obviously not the case.
There are several short videos available from Microsoft that cover the new features in SBS2011, but unfortunately Microsoft decided to make you download each one individually. However if you right click and download this
List of SBS 2011 Training videos file, you can use wget to download all of the files in a batch file.
Assuming you have wget installed on your machine and it is in the path (if not then why not? It is incredibly useful for downloading files from a command line – Get it from Sourceforge’s wget page), just run with the following in a command prompt window.
for /F %i in (sbstraining.txt) do wget %i
You should end up with 38 files totalling 241MB.
Update: See comments for assistance in downloading a copy of wget without needing all the extra gnu stuff