Don’t overspend: 7 Practical tips to reduce office expenses

Office expenses can quickly add up, leaving your business with less money to invest in other areas. Cutting down on unnecessary office expenses is a smart way to save money, and it can be done without compromising productivity. Keep in mind, however, that finding the right balance is key — don't sacrifice quality for the sake of penny-pinching.

How to successfully onboard new remote employees

While some businesses are already reopening their workplaces to accommodate in-office work, others are opting for hybrid setups or sticking with full-time remote work. This is because of the myriad benefits that remote working provides, from cost savings to a more diverse and talented pool of potential employees.

7 Tips to promote work-life balance in your organization

Employees can only do their best when they feel like their work life and personal life are in balance. And businesses suffer when employees don't have that balance because they're less productive, more stressed out, and more likely to leave.

So how can business leaders promote better work-life balance for their employees? Here are seven tips:

Encourage time off

A break from work will provide your employees with the chance to take care of themselves, recharge their batteries, and come back to work happier.

7 Simple ways to protect yourself from spam

Spam comprises more than half of all emails sent. Although it’s a number that’s substantially lower than it was a few years ago, junk email continues to cost the global economy billions of dollars every year in lost productivity. Moreover, many spam emails are more than just an annoyance, they are a favorite delivery method for malicious software and links.

How to enable relaying for external clients on SBS 2008/2011 and or Exchange 2007/2010 with different sending email address’s

I sometimes come across customers that would like to relay email through their Exchange Sever from external clients and maybe use a different sending address.  Here is how I configure this. First, we will create a new receive connector via the Exchange Powershell. To do so, open up the Exchange Management Shell (powershell) Once this loads, use the following command New-ReceiveConnector -Name ‘ExternalRelay’ -Usage ‘Client’ -RemoteIPRanges ’0.0.0.0-255.255.255.255′ -Server ‘SERVER’ Here is an example: Now we have created the Receive Connector, and you will see this in the Exchange Management Console. Let’s check our work, even though it was only one line of text Now we can verify the network, authentication, and permission groups settings to see how a Client receive connector has been configured. If you go to the properties, you will see that it’s listening on port 587 , that it has enabled Basic authentication over TLS, and that it is only allowing Exchange Users (Authenticated Users) to connect. You will see all of this by looking at the connector in the Exchange Management Console. NOTE: Make sure that port 587 is open in your firewall or this will not work for external users Further inspection of the AD permissions on the receive connector show that authenticated users have the ms-Exch-SMTP-Accept-Any-Recipient right. This is the correct relay permission and you should never have it be owned by anonymous users. You can view and verify this by running the following powershell command: Get-ADPermission “ExternalRelay” | where {$_.ExtendedRights -match “ms-Exch-SMTP-Accept-Any-Recipient”} | fl You will see the output looking like: If it says under user “NT AUTHORITYANONYMOUS” then you have an open relay. Stop and delete the connector! Next, we need to set some additional parameters to make this work. To allow the authenticated user to be able to send email with a different address, we will use the following powershell command   Get-ReceiveConnector ExternalRelay | add-ADPermission -User “NT AUTHORITYAuthenticated Users”-ExtendedRights “ms-Exch-SMTP-Accept-Any-sender” looking like: If you are running an SBS 2008 or SBS 2011 server, this also applies: If you have successfully run the Internet Address Management Wizard from the SBS Console, then your Exchange certificate for TLS has already been installed and configured. You can verify this by running the Get-ExchangeCertificate commandlet and find the certificate with your external DNS domain name. The certificate will have IPWS listed under Services, which stands for IMAP, POP, Web and SMTP respectively.   At this point, make sure that your Client receive connector is configured with the same FQDN that is listed in the subject of your Exchange certificate. This will be displayed in the banner: Once all of this is done, you are ready to setup Outlook, Outlook Express, Windows Mail, etc. Important points here are: The client machine must trust both the Exchange certificate and the Root CA in which it was created from. A good test is to open IE on the client and browse OWA to see if you get the certificate warning(s). You must configure the mail client to connect on port 587 and to send the proper credentials for authentication. The server requires a TLS connection, you must specify this in the mail client   Some of this information in this blog was obtained from the SBS Blog team at  http://blogs.technet.com/b/sbs/archive/2008/09/18/how-to-configure-trusted-smtp-relay-in-exchange-on-sbs-2008.aspx Lyle Epstein Kortek Solutions Lyle Epstein’s Systems Engineer Blog

Cannot connect this computer to the network, Windows SBS 2011 Essentials

Today I was getting an error “an unknown error has occurred” when trying to use the SBS 2011 Essentials connector to add a computer to the console. In this particular setup, the customer was migrating from Windows 2003 to Windows SBS 2011 Essentials.   Troubleshooting First thing to check are the logs. I looked at http://blogs.technet.com/b/sbs/archive/2012/05/02/key-small-business-server-2011-essentials-log-files.aspx to find the exact location of the files. When I looked at the ClientDeploy.log file, I see the error [4284] 120810.150151.4347: ClientSetup: Start of ClientDeploy [4284] 120810.150152.2147: General: Initializing…C:WindowsTempClient Deployment FilesClientDeploy.exe [4284] 120810.150152.2459: ClientSetup: Loading Wizard Data [4284] 120810.150154.0399: ClientSetup: Current DeploymentStatus=Running [4284] 120810.150205.5059: ClientSetup: Showing the Client Deployment Wizard [4284] 120810.150206.6447: ClientSetup: Adding Server Info data in the Product Registry [4284] 120810.150206.8943: ClientSetup: Set the Deployment Sync Event [4760] 120810.150219.6707: ClientSetup: Running ValidateUser Tasks at WizardPage DomainUserCred [4760] 120810.150219.7019: ClientSetup: Entering ConnectorWizardForm.RunTasks [4760] 120810.150219.7019: ClientSetup: Running Task with Id=ClientDeploy.ValidateUser [4760] 120810.150219.8267: ClientSetup: Entering ValidateUserTask.Run [4760] 120810.150219.9047: ClientSetup: Install root cert to local trusted store [4760] 120810.150219.9671: ClientSetup: Validating User [4760] 120810.150219.9671: ClientSetup: Call MachineIdentityManager.GetMachineStatus [4760] 120810.150231.2459: ClientSetup: MachineIdentityManager.GetMachineStatus had errors: ErrorCatalog:OtherError ErrorCode:-2146233087 BaseException: Microsoft.WindowsServerSolutions.Devices.Identity.MachineIdentityException: MachineIdentityManager.GetMachineStatus    at Microsoft.WindowsServerSolutions.Devices.Identity.MachineIdentityManager.GetMachineStatus(String serverName, String userName, String password, String machineName, Boolean& isAdmin)    at Microsoft.WindowsServerSolutions.ClientSetup.ClientDeploy.ValidateUserTask.Run(WizData data) [4760] 120810.150231.2459: ClientSetup: Exiting ValidateUserTask.Run [4760] 120810.150231.2459: ClientSetup: Task with Id=ClientDeploy.ValidateUser has TaskStatus=Failed [4760] 120810.150231.2459: ClientSetup: Task with Id=ClientDeploy.ValidateUser has RebootStatus=NoReboot [4760] 120810.150231.2459: ClientSetup: Exting ConnectorWizardForm.RunTasks [4284] 120810.150231.2615: ClientSetup: JoinNetwork Tasks returned TaskStatus=Failed [4284] 120810.150233.7887: ClientSetup: Back from the Client Deployment Wizard [4284] 120810.150233.8043: ClientSetup: Saving Wizard Data [4284] 120810.150233.8043: ClientSetup: End of ClientDeploy: ErrorCode=1603 So now I know the error is MachineIdentityManager.GetMachineStatus had errors: ErrorCatalog:OtherError ErrorCode:-2146233087   Let’s get to troubleshooting this issue. Per other articles and forum posts I read, it was recommended to re-run the wizard a second time. I went ahead and did that, same issue in my case. It was also suggested to run the wizard while logged in as a local admin, non domain joined and I got the same results. I noticed that when I restarted the new SBS 2011 Essentials server that it would take a very long time till I got a CTRL-ALT-DELETE login screen, basically just sitting there “applying settings”. At first I thought it was caused by my NIC being teamed, but after disabling the team I had the same results. So I can rule out teaming being my issue. I then took a look at the event logs on the client machine. I did not see any issues related. I thought it might be .NET 4, but I verified I didn’t even have it installed before I ran the wizard. Other postings indicated it could be a .NET issue. I then attempted to connect to the new server by doing https://SBS-11E:65515/connect and did not get any certificate errors. The next step was to look at the server being the issue. I logged in to my existing 2003 Domain Controller and looked at the event logs. I saw NTFRS replication was failing. So this is a problem. To fix it, I went ahead and attempted to ping the new SBS 2011 Essentials server by FQDN. This failed, so I opened up DNS.  I expanded the nodes under the AD zone, looking specifically at _msdcs stub. In that stub, I found references to my SBS 2011 Essentials sever with the wrong IP address, as well as additional entries with the correct IP. I deleted all the ones with the invalid IP address. The next step was to examine the Reverse DNS entries. In this particular customers case, no Reverse DNS was setup. I then opened a command prompt on the 2003 server and typed in NET STOP NETLOGON & NET START NETLOGON and pressed enter. The NETLOGON service restarted. I then tried to ping the SBS 2011 Essentials server by FQDN, for example ping SERVER-SBS11E.internaldomain.local which it now was able to resolve. I then re-ran the wizard, and this time it stopped me and gave me a warning that I was using my Domain Admin account. I didn’t really care in this case, and proceeded on. The wizard worked correctly and  believed I had solved the issue……… in fact, I was so happy to solve it that I updated the Microsoft Forums with my resolution. After visiting other computers in this clients office and running the wizard, I kept seeing errors in the event log about Group Policies. I thought something was still not fixed, and it might be my Active Directory being damaged. The reason I came to that conclusion was when I first did my site evaluation at this client I noticed if I edited the existing login script by going to domainnetlogon that the changes I made never seemed to actually take place when the user logged in.  I didn’t think much of it at the time, and was able to resolve my edit by going to the SYSVOL folder and finding the login batch file and editing it. I went ahead and rebooted the new SBS 2011 Essentials server to see if the startup still hung for a long time, or was now fixed since I fixed the bad DNS issues. The server hung for a long time, so that was not fixed. Going back to the workstation, I performed a GPUPDATE /FORCE. The results of that were that the workstation could not determine what domain or forest I was in. This was a serious issue that I needed to deal with. Since I thought that AD might be damaged, I did the following: On the Windows 2003 server, I saw in the Applications event viewer the following error, MS DTC could not correctly process a DC Promotion/Demotion event. The first thing for me to check was the health of Active Directory. I needed to perform a semantic database check for errors. On the SBS 2011 Essentials server, I went to the  Administrative command prompt  and typed NET STOP NTDS since this server is running Windows Server 2008, I can stop the directory services without rebooting to safe mode. For full instructions of this procedure, see http://technet.microsoft.com/en-us/library/cc816754(v=ws.10) Type Y to agree to stop additional services, and then press ENTER. At the command prompt, type ntdsutil, and then press ENTER. At the ntdsutil: prompt, type activate instance ntds, and then press ENTER. At the ntdsutil: prompt, type semantic database analysis, and then press ENTER. At the semantic checker: prompt, type verbose on, and then press ENTER. At the semantic checker: prompt, type go fixup, and then press ENTER. in my case, I found no errors as I received the following: that is a great thing to have no corruption! Next, type quit, and quit to return you back to a command prompt. Now we need to start our directory services back up. at the command prompt, type NET START NTDS I opened up the event viewer on the SBS 2011 Essentials server, and looking under system, I saw an error showing “The processing of Group Policy failed. Windows could not obtain the name of a domain controller. This could be caused by a name resolution failure. Verify your Domain Name System (DNS) is configured and working correctly.”   and The Key Distribution Center (KDC) cannot find a suitable certificate to use for smart card logons, or the KDC certificate could not be verified. Smart card logon may not function correctly if this problem is not resolved. To correct this problem, either verify the existing KDC certificate using certutil.exe or enroll for a new KDC certificate. along with The “Windows default” Policy Module “Initialize” method returned an error. The specified domain either does not exist or could not be contacted. The returned status code is 0x8007054b (1355).  The Active Directory containing the Certification Authority could not be contacted. and Active Directory Certificate Services for MCG-SBS11E-CA was started.  DC= do you see how DC= nothing above? This is caused when certificate services cannot figure out who is a domain controller. And finally, this event log error Dynamic registration or deletion of one or more DNS records associated with DNS domain ‘mcg.local.’ failed.  These records are used by other computers to locate this server as a domain controller (if the specified domain is an Active Directory domain) or as an LDAP server (if the specified domain is an application partition).  So my issue still exists. It is not corrupted Active Directory, and still is pointing me to DNS as the bottom line. Here is how I fixed it. First, I opened up DNS on the SBS 2011 Essentials server.  I right clicked on my server and went to properties . I then selected the Forwards TAB. I noticed that the first entry, 10.1.1.1 was invalid as this is my gateway, and the customer was currently using a home router which didn’t do anything for DNS related actions. My second server, being the old Windows 2003 server was listed, and my end goal once the migration was done was to turn off forwards. I went ahead and removed the 10.1.1.1 server. I then went to command prompt and typed in nltest.exe /dsregdns   . I restarted the DNS service by typing NET STOP DNS & NET START DNS   followed by IPCONFIG /RegisterDNS I then decided to reboot and see if I still had my slow startup issue. After rebooting, it went right to the CTRL-ALT-DELETE screen, no more delay. I looked at the event logs and now see that my DC= is filled in with the proper information. This is a very good thing! I reran the wizard, and now I get Lyle Epstein Kortek Solutions Lyle Epstein’s Systems Engineer Blog

Group Policy folder redirection generates Error, The system call level is not correct.

Recently I was working on a client who is setup with a SBS 2008 server and workstations running Windows 7 Professional SP1. I noticed that when a particular user would login it would take upwards of 10 minutes for the welcome screen to go away and the desktop to be displayed. As part of the troubleshooting, I had the user login to a different workstation with their same credentials and we experienced the same slow login. when I looked at the event log, I saw the following error: Log Name:       Application Source:         Microsoft-Windows-Folder Redirection Date:           4/21/2012 10:57:42 PM Event ID:       502 Task Category: None Level:          Error Keywords:       User:           DOMAINfirstlast Computer:       DOMAIN-PC.DOMAIN.local Description: Failed to apply policy and redirect folder “Documents” to “SERVERRedirectedFoldersfirstlastMy Documents”. Redirection options=0×9021. The following error occurred: “Failed to copy files from “SERVERRedirectedFoldersfirstlastDocuments” to “SERVERRedirectedFoldersfirstlastMy Documents””. Error details: “The system call level is not correct. “. I did some research on this error, and came up with one valid result, which claimed that it was being caused by server quotas. As part of the trouble shooting, I turned off quota’s on the server, however I had previously checked the users properties in the SBS 2008 console and verified Folder Redirection was enabled, but the quota’s box was unchecked. I do question why the policy was attempting to take the same server and users folder and move files from the “Documents” folder to the “My Documents” folder. As I checked the GPO, it is set to move the files from the old location which is a default setting. So to take the troubleshooting a step further, I ran GPRESULT /V > C:gpresult.txt  and viewed this text file. I do not see anything out of the ordinary being applied to the computer. Now, when I check the GPO’s on server, I see a old GPO that was created and is no longer being applied. In that GPO, I see the following: As you can see from this screenshot, the disabled “Folder Redirection” GPO had the policy pointed to the SERVERRedirectedFolders%USERNAME%Documents but if we look at the Small Business Server Folder Redirection Policy which is created by the Small Business Server, it is pointed to SERVERRedirectedFolders%USERNAME%My Documents   as shown below On the Windows 7 machine, when I look at the properties of the “My Documents” folder, I see it is still pointed to the old policy’s setting, of SERVERRedirectedFolders%USERNAME%Documents as shown below: So how do we go about fixing this? Well, the best way to fix this is to edit the current GPO, Small Business Server Folder Redirection Policy. On this GPO, I changed the setting “Move the contents of Documents to the new location” to disabled by unchecking the box as shown below: Then, on the Windows 7 machine, at the command prompt type in GPUPDATE /FORCE and then logoff Now I login as that user, and look at the event log. We now see success, as the policy does not need to move the existing “Documents” to “My Documents” and the policy is able to successfully apply as shown below. Now there is one more step to fix this issue. I will need to copy the data from the “Documents” folder to the “My Documents” folder. When I attempted to look at the old Documents folder, it was now empty. The reason for this, Offline Files are enabled on the Windows 7 machine, and as it couldn’t connect to the previous path, all the time the user was saving documents it was offline as you can see in the previous picture of the properties of My Documents it was missing the green sync icon. So when I logged in to the computer with the fixed policy, the Windows Sync Center determined it was now online and able to write to SERVERRedirectedFoldersfirstlastMy Documents , and it has the data in the CSC cache, so it just copied the data back to the server for me. If you don’t have Offline Files enabled, simply copy the data from Documents to My Documents folder. Here is a screenshot showing it now online   If you are wondering why there are two My Documents folders, the second one that is not Sync’d is actually Documents. I just deleted this folder as it is not valid. I suggest re-enabling this policy setting once the issue is resolved so that if you have a user who didn’t have this policy applying or in the SBS Console you checked the box  and you now want it, that the files are moved from their default location to the server location. I also saw that Microsoft released a hotfix titled You encounter a long logon time after you enable the “Do not automatically make redirected folders available offline” Group Policy setting in Windows 7 or in Windows Server 2008 R2 at  http://support.microsoft.com/kb/2525332   however, in this case it does not apply. As you can see, the error The system call level is not correct is a very generic error which by just looking at it, tells you almost nothing. Lyle Epstein Kortek Solutions Lyle Epstein’s Systems Engineer Blog

Internal event: Active Directory has encountered the following exception and associated parameters.

Today I was performing a migration from SBS 2003 to SBS 2011. I performed all the checks and ensured I had all the updates in place. During the migration the SBS 2011 server failed the migration. Upon further investigation I noticed that only 1 role transferred over from the old DC to the new one. On the old SBS 2003 server I saw: Upon doing some more research, I came across this hotfix from Microsoft http://support.microsoft.com/kb/981259 which does not specifically address Exception e0010004 but does address e0010005. I installed this hotfix and then proceeded to manually transfer all FSMO roles using NTDSUTIL on the SBS 2011 server from it’s self to it’s self . This might sound strange, but I wanted to do this per another article I read on Microsoft’s site. Once I confirmed that all the roles transferred over from the new SBS 2011 to it’s self. I then moved the roles back to the old SBS server. Then verifying event logs, everything looked clean and happy. I also noticed this event on the old SBS 2003 server. This seemed odd to me because look at the user….it is a a SID with no matching name. This is not normal. I then unpromoed the failed SBS 2011 server and removed it from the domain. I then decided to inspect the SBS 2003 DNS server. I noticed under GC’s that there were two entries. One was the current server, in this case 10.55.100.10 and another of 10.55.100.60. Well there was no other GC with an IP of this, so that stood out like a sore thumb. I then deleted this invalid entry and looked at all other entries, Name Servers, etc. to verify it was clean. On the old SBS 2003 server, I followed Microsoft troubleshooting to increase my logging. To increase NTDS diagnostic logging, change the following REG_DWORD values in the registry of the destination domain controller under the following registry key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNTDSDiagnostics Set the value of the following subkeys to 5: 5 Replication Events 9 Internal Processing Note Level 5 logging is extremely verbose and the values of both subkeys should be set back to the default of 0 after the problem is resolved. Filtering the Directory Services event log should be performed to isolate and identify these events. I did this on the source controller even though it mentions to do this on the destination server. Next I restarted netlogon service via command prompt. NET STOP NETLOGON & NET START NETLOGON I performed the migration again. It failed, but I was able to capture a lot more events in the event log. This time I saw Event ID 1925: Attempt to establish a replication link failed due to DNS lookup problem. Following  http://technet.microsoft.com/en-us/library/cc778061(WS.10).aspx   I started looking at DNS as the issue. this lead me to http://technet.microsoft.com/en-us/library/cc785014(WS.10).aspx It turns out, that someone previous had turned of Zone transfers. The DNS server looked like this: and this: To fix it, it should look like this: and Make sure to also check the AD domain, in this case csg.local, as those settings were also modified. I also noticed that they had DNS forwarders on, pointing to external address’s, but when I ran the original Internet Connection Wizard on the SBS 2003 server, it made no mention of this. Weird. Ah, once I did this, I was able to migrate correctly. Note, make sure to cleanup the old failed SBS 2011 servers from AD, Name servers and DNS so you get a clean migration. As this was a new customer for me, I had no knowledge of the previous IT person’s skills or abilities, or how things were setup or should I say not setup correctly. Lesson learned is when you enter a situation where you don’t know what was done before, look at everything, even though it is time consuming, the troubleshooting takes even more time. Lyle Epstein Kortek Solutions Lyle Epstein’s Systems Engineer Blog

Windows Server Solutions BPA Updated September 2011 but is not prompting for update

Microsoft released an update this week for the Windows Server Solutions BPA that covers a number of products, including: Small Business Server 2011 Standard Edition Small Business Server 2011 Essentials Windows Storage Server 2008 R2 Essentials Windows MultiPoint Server 2011 More information about this update is available on the Official SBS Blog page at http://blogs.technet.com/b/sbs/archive/2011/09/29/windows-server-solutions-bpa-updated-september-2011.aspx So how do you get the update? First, make sure you have the Microsoft Baseline Configuration Analyzer 2.0 installed. To get it, go here . Next, make sure to download and install the Windows Server Solutions Best Practices Analyzer 1.0 here During the install, you will be prompted with this screen: Make sure to check this box during your install, or you will not be prompted to automatically update! Once you have it installed, launch the BPA either via the SBS Console under security (if you selected to integrate it in the console) or when you launch it under the start menu. You will see in the system tray an icon/pop up stating to update, like this: Select that, and a window will open Close the BPA you have open and then wait about 5-10 seconds. The next box will change and allow you to click on it. That’s it, you are now updated! Hey Lyle, I don’t see it prompting me. Why? Ok, so you got it installed, but now you launch it and don’t see it prompting you for the update. No problem, here is how to fix this: Open up the registry and navigate to HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsServerSolutionsBPA Look for the DWORD item “Update”.  It is probably set to a 0. We want to change it to a value of 1. It should now look like this:   Close out the BPA if you have it open. Now re-launch it and you will see it appear in the SysTray. Lyle Epstein Kortek Solutions Lyle Epstein’s Systems Engineer Blog