Microsoft Azure Service outages

Microsoft and AWS are becoming increasingly common with service outages. This is frustrating especially when you are spending millions with them as a premier customer.

Their service outages not only create panic for an organization but can leave you with major profit loss, updates not provided into the issues, etc. Why pay thousands? Hundreds of Thousands of Dollars? When you can pay less from a small web hosting business and the outages are minimal?

One can argue that you pay for the Support and Services? We’ll sure…But if you were paying for the services why is it down?

While the support may be better then some web hosting companies. Companies like Boxne, LLC provide top-notch support to their customers as well as status updates when outages occur. Their model is to update every impacted customer every 30 minutes during an outage to give you full visibility. While Amazon Web Services have been down as well as Azure services. Boxne, LLC remains online and functional.

Why settle for a big business with outages, not get support you need and limited details? When you can purchase a Virtual Machine, Dedicated Server or Web Hosting services from for a fraction of the price.

Boxne also have different tiers of support.

Enterprise – You have your own Account Manager!

Medium – You have a Technical Account Manager

Small – You have access to Technical Support Team.

They operate similar to Microsoft practice but rarely go down. This is because they utilize the two server model and don’t have complex connections in between datacenters.

Fixing the randomly stopping WsusPool IIS Application pool and Windows Updates failed 0x80244022 error

I was recently assisting a client with an upgrade of their Configuration Manager (SCCM) environment up to the latest release of 1702 and as part of that we’re also going over it’s currently deployed functionality and making sure it all works. They recently noted that clients were no longer receiving updates and ran the Software Update functionality of ConfigMgr, which funnily enough also relies on WSUS to sync up to Microsoft (but not push out the updates themselves).

So when troubleshooting Updating issues, you need to check both the Software Update Point and WSUS, and lowe and behold the WSUS console kept on crashing. After checking the Update Services service, I then turned to IIS and noticed the UpdatedServices Application pool had stopped, so I started it and went back into the console but soon noticed it had died again. After reading some advice on the TechNet forums they suggested raising the memory limit of the Wsus Application Pool, which is done by selecting the Application Pool Name and then clicking Advanced on the right hand side or right click menu. Scroll down to the bottom of the Advanced Settings Window until you see Private Memory Limit (KB) and increase this from the default of 1843200 (which is 1.8 GB) to 4194304 (which is 4 GB). Make sure you have enough RAM allocated to the machine, if you are feeling courageous you can also set the value to 0 which does not set a limit.

After increasing the available memory to the AppPool, WSUS synchronized successfully and clients were now receiving updates

Reset the Default Domain and Domain Controller Group Policy Objects to their out of box state

So, I recently inherited a small client with SBS 2011 and their previous IT admin only ever used the Default Domain Policy to apply computer and users settings (such as mapped drives and printers). Microsoft has quite a strong recommendation of best practice for the two policies which goes along the lines of;

  • Default Domain Policy GPO should only be used to manage the default Account Policies settings, Password Policy, Account Lockout Policy, and Kerberos Policy.
  • Default Domain Controllers Policy GPO should only be used to set user rights and audit policies.

So I first needed to create separate GPOs to store these custom settings and then a way to clear out all of those changes and revert them back to their default state.  So how do you go about reversing the damage if you don’t have backups far enough? In comes a small utility called dcgpofix which resets these two Group Policy Objects to their default settings. Launch an admin command prompt window and run the following command;

dcgpofix /target:both

Once executed it will confirm you want to restore them to their out of box defaults, which we can confirm with a couple of Y responses and then bang they should be restored, see the screen shot for an example of it running in my test lab.

Top 5 things you should know as a Systems Administrator

I used to work in the Technology Industry as a Systems Administrator and here’s the top 10 things you should know as a Systems Administrator. When i first started in Information & Technology, I thought i knew everything. Literally…Wow was i wrong, when i started my first job I came in the first day thinking IT will be a piece of cake. Yeah right, I was wrong. IT is a difficult industry to be in as Technology constantly advances and you have to advance with it. I enjoy working in System Administration and i continue to freelance this type of work today.

Today, I will be going over the top 5 things you should know as a systems administrator.

1. Remote Desktop Connection Manager or RDP Session Tools

Remote Desktop Connection Manager or other RDP Tools are a necessity when working as a Systems Administrator. This will allow you to connect to multiple machines at once, rather then using Remote Desktop Connection where you can open as many computers as you wish although it’s very time consuming. The Remote Desktop Connection Manager allows you to Save your sessions for later (The next day), which is a great tool for a Sys Admin.

2. Disabling Internet Explorer Enhanced Security

If Internet Explorer Enhanced Security Configuration is enabled a Systems Administrator will hate their life. When you go to a web page it will continue to prompt you to add the site to a list of “Safe Links”. When trying to resolve issues fast as a Systems Administrator, this is the most troublesome feature.

3. Virtual Machines / Cloud Infrastructure is the way to go

Virtual Machine Infrastructure is the way to go! The reason behind this is because you can utilize more resources/features such as High Availability in VMWare or any cloud infrastructure which allows you to migrate your virtual machines in the event of a Host failure. If you run Dedicated Servers only, in the event a system board fails there is no live migration and you have a hard downtime.

Vs. If you are in a virtual environment there is virtually no downtime!

4. Powershell is your friend

Now a days learning powershell is crucial to working as a Systems Administrator as you can automate tasks very quickly!

5. Active Directory Management

Almost every IT position has some experience with Active Directory although as a Systems Administrator, you should know the ins and outs of how Active Directory Functions from how DFS can be used to Domain Controllers, Caching of ADMX Templates and Group Policy integration. If you own a business above 5+ employees, I’d recommend Active Directory.

How to Install Python 2.7.13 on CentOS/RHEL 7/6 and Fedora

Today, I was trying to install an application on my CentOS 6.5 system which required Python >= 2.7, but there are Python 2.6 installed, which we can’t remove as other applications depend on it. This tutorial will help you to install Python 2.7 without removing older versions.

Step 1 – Install GCC

Firstly make sure that you have gcc package installed on your system. Use following command to install gcc if you don’t have it installed.

# yum install gcc

Step 2 – Download Python 2.7

Download Python using following command from python official site. You can also download latest version in place of specified below.

# cd /usr/src
# wget

Step 3 – Extract Archive and Compile

Use below set of commands to extract Python source code and compile it on your system using altinstall.

# tar xzf Python-2.7.13.tgz
# cd Python-2.7.13
# ./configure
# make altinstall

make altinstall is used to prevent replacing the default python binary file /usr/bin/python.

Step 4 – Check the Python Version

Check the latest version installed of python using below command

# python2.7 -V

Python 2.7.13

Step 5 – Install PIP

Finally, install the PIP for the installed Python version.

$ curl "" -o ""
$ python2.7

How To Earn $100 A Day With Google AdSense

Earning $100, $200 or even $300 per day with Google AdSense can be done from a home office. Many website owners are doing it. The only thing you need is planning, work, determination, and passion about your topic or niche.

Term Definitions

Before diving into the exact process, here’s some terminology for better understanding of Google AdSense.

AdSense: AdSense is when you place Google Ads on your website, and when a visitor from your website clicks on an ads, Google pays you 68% of what the advertiser pays them. It’s free to sign up.

CTR: Your ad Click-Through Rate is the number of ad clicks divided by the number of individual ad impressions. Suppose you are showing 3 AdSense ads on every page of your website, 1 page view is equal to 3 ad impressions.

CTR = Clicks / Ad Impressions X 100

Suppose, you get 5 clicks out of 500 ad impressions, your CTR would be 1% (5/500X100).

CPC: Cost Per Click is the revenue you earn each time a visitor clicks on your ad. CPC is determined by the advertisers. In some competitive niches like finance, marketing, online products etc. advertisers may be willing to pay more per click than others.

CPM: CPM means “Cost Per 1000 Impressions.”

Sometimes advertisers opt for CPM ads instead of CPC and set their price for 1000 ad impressions. And they pay each time their ads appear on any website.

What It Takes To Make $100 A Day With AdSense

When your CTR is 1% and your average CPC is $0.25. it’s quite achievable to make $100 dollars a day, and lots of people are doing it. Let’s assume that a Page View = An Ad Impression.

  • To make $100 everyday you need 40,000 Page Views/day Or, 400 Clicks a day @ 1% CTR and $0.25 CPC. For 40,000 Page Views you have to produce 500 awesome articles on your website. These pages must attract at least 80 or more page views everyday.These articles can be as little as 300 words. Always include a YouTuble video on every article page you create. Many people writing a book, can simply write their book on their website and make money simply by writing it. You can also get your visitors to contribute their story ideas. This gets you free content and engages your followers.
  • Apart from CPC, you will also earn from your CPM ad impressions. Irrespective of any niche, the average CPM earning is $1 to $1.5 per 1,000 impressions. You can make $40 to $60 per day from 40,000 page views.
  • You can also sell your Ad space directly or via, and generate $6,000 Per Month on an average from 40,000 page views. Check out how webmasters are making $6,000 to $8,000 Per Month from BuySellAds with forty thousand page views per day. So your daily earning will be $200 (6000/30=200).
  • A niche website with high quality articles works well with affiliate marketing. You can might be able to earn $40 to $80/day from affiliate selling with correct implementation and execution.

Now your total earning per day is $100 + $40 + $200 +$40 = $380 from CPC, CPM, Direct Ad Sell, Affiliate Marketing for 40,000 page views per day. I’ve taken the lowest possible earnings from all the 4 sources.

$380 per day means $11,400 per month (380X30= 11,400) Or, $136,800 per year (11,400X12=136,800).

Removing A Large Number Of Calendar Items In Outlook

If you need to remove a large number of calendar items in Outlook to free up space or improve performance, you can do it by opening your Calendar in List view or by archiving your calendar.  Archiving could be used if you may need access to the old calendar items in the future.

Removing Calendar Entries in the List View

  1. Open your Calendar.
  2. Click the View tab.
  3. Click Change View.
  4. Choose List.

Note: The calendar items will be sorted by Start date.  They will be sorted by single events and recurring events.   You can sort the calendar items by any of the headings listed:  SUBJECT, LOCATION, START, END, RECURRENCE PATTERN, CATEGORIES.

  1. To delete a range of Calendar entries, click on the first entry to be deleted. Hold down the Shift key and click on the last entry in a given range to be deleted. For example, you could delete all entries older than January 1, 2013.
  2. Press Delete.
  3. Repeat Steps 3 and 4 as needed to delete additional Calendar entries.
  4. Click the View tab.
  5. Click Change View
  6. Choose Calendar.

Reset the List View to Default

  1. Click the View tab.
  2.  Click Reset View.
  3. Click Yes.

Deploy Skype Room V2 in Office 365

I recently had trouble deploying Skype Room V2 Office 365 solely to 7 meeting rooms that are using the Logitech V-U0038. The problem was we were getting errors such as Version Mismatch, Incompatible, Sign in errors, etc. I tried Microsoft Office 365 Support although no one was able to assist.

I could login to Skype fine on other computers but why not this one? I completed the Powershell steps? but nothing happened? or is working? We’ll the answer is the SIP Address in Skype Management may be different then your exchange address. Specifically referring to Office 365.

  1.  Go to
  2. Click Admin Centers
  3. Open Skype for Business and Exchange
  4. Find that user in Skype for Business and Exchange
  5. In the properties of the user in Exchange “Email Addresses” make sure SIP is the same as the email in Skype for business
  6. Once these two match up then you should be good.

Keep in mind you may not see the SIP Address if the user is not licensed properly. Let’s get started.

To enable Skype for Business, you must have the following:

  • Skype for Business Online (Plan 2) or higher in your Office 365 plan. The plan needs to support conferencing capability.
  • If you need Enterprise Voice (PSTN telephony) using telephony service providers for Skype Room Systems v2 you need Skype for Business Online (Plan 3).
  • Your tenant users must have Exchange mailboxes.
  • Your Skype Room Systems v2 account does require a Skype for Business Online (Plan 2) or Skype for Business Online (Plan 3) license, but it does not require an Exchange Online license.

Add a device account

  1. Start a remote Windows PowerShell session on a PC and connect to Exchange. Be sure you have the right permissions set to run the associated cmdlets. The following are some examples of cmdlets that can be used and modified in your environment.
    Set-ExecutionPolicy Unrestricted
    $org = ‘’
    $cred = Get-Credential [email protected]$org
    $sess = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $cred -Authentication Basic -AllowRedirection
    Import-PSSession $sess

After establishing a session, you’ll either create a new mailbox and enable it as a RoomMailboxAccount, or change the settings for an existing room mailbox. This will allow the account to authenticate to Skype Room Systems v2.

If you are changing an existing resource mailbox:

Set-Mailbox -Identity ‘[email protected]’ -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String Password -AsPlainText -Force)

If you’re creating a new resource mailbox:

New-Mailbox -MicrosoftOnlineServicesID [email protected] -Alias PROJECTRIGEL01 -Name “Project-Rigel-01” -Room -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String <password> -AsPlainText -Force)

Various Exchange properties must be set on the device account to improve the meeting experience. You can see which properties need to be set in the Exchange properties section.

$acctUpn = ‘[email protected]
Set-CalendarProcessing -Identity $acctUpn -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -AllowConflicts $false -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false
Set-CalendarProcessing -Identity $acctUpn -AddAdditionalResponse $true -AdditionalResponse “This is a Skype Meeting room!”

You will need to connect to Azure Active Directory to apply some account settings. To connect to Azure AD, run the following cmdlet:

Connect-MsolService -Credential $cred

If you do not want the password to expire, run the Set-MsolUser cmdlet with the PasswordNeverExpires option as follows:

Set-MsolUser -UserPrincipalName $acctUpn -PasswordNeverExpires $true

You can also set a phone number for the room as follows:

Set-MsolUser -UniversalPrincipalName <upn> -PhoneNumber <phone number>

The device account needs to have a valid Office 365 license, or Exchange and Skype for Business will not work. If you have the license, you need to assign a usage location to your device account—this determines what license SKUs are available for your account. You can use Get-MsolAccountSku to retrieve a list of available SKUs for your Office 365 tenant as follows:


Next, you can add a license using the Set-MsolUserLicense cmdlet. In this case, $strLicense is the SKU code that you see (for example, contoso:STANDARDPACK).

Set-MsolUser -UserPrincipalName $acctUpn -UsageLocation "US"
Set-MsolUserLicense -UserPrincipalName $acctUpn -AddLicenses $strLicense

Next, you need to enable the device account with Skype for Business. Be sure your environment meets the requirements defined in Skype Room Systems v2 requirements.

Start a remote Windows PowerShell session as follows (be sure to install Lync Online Connector, Installation directions can be found at

  1. Import-Module LyncOnlineConnector $cssess=New-CsOnlineSession -Credential $cred Import-PSSession $cssess -AllowClobber Next, enable your Skype Room Systems v2 account for Skype for Business Server by running the following cmdlet:Enable-CsMeetingRoom -Identity $rm -RegistrarPool “” -SipAddressType EmailAddress If you aren’t sure what value to use for the RegistrarPool parameter in your environment, you can get the value from an existing Skype for Business user by using this cmdlet:Get-CsOnlineUser -Identity ‘[email protected]’| fl *registrarpool*

After you’ve completed the preceding steps to enable your Skype Room Systems v2 account in Skype for Business Online, you need to assign a license to Skype Room Systems v2 device. Using the Office 365 administrative portal, assign either a Skype for Business Online (Plan 2) or a Skype for Business Online (Plan 3) license to the device.

Assign a license to your account

  1. Login as a tenant administrator, open the Office 365 Administrative Portal, and click on the Admin app.
  2. Click Users and Groups and then click Add users, reset passwords, and more.
  3. Select the Skype Room Systems v2 account, and then click or tap the pen icon, which means edit.
  4. Click on the Licenses option.
  5. In the Assign licenses section, you need to select Skype for Business Online (Plan 2) or Skype for Business Online (Plan 3), depending on your licensing and what you’ve decided in terms of needing Enterprise Voice. You’ll have to use a Plan 3 license if you want to use Cloud PBX on Skype Room Systems v2. Minimally you will need CloudPBX for voice connectivity. Then configure hybrid voice or PSTN calling based on the PSTN connectivity method.
  6. Click Save to complete the task.

Cisco Umbrella/OpenDNS Domain Controller Configuration

Domain Controllers are crucial for your business to function. One of a Domain Controllers features houses all your employee information for logging onto computers. In a small business environment, clients also like to add DHCP, DNS to their domain controllers *Which is not recommended*.

Domain Controllers house your Databases and Employee information, if this database becomes corrupt or goes down, this will hurt your business by 10 folds as employees cannot get to company resources or even logon a server. “No Logon Servers Available” is a common error when a domain controller environment is failing or the computer has no internet to contact a domain controller. In our case, we have provisioned Cisco Umbrella, OpenDNS to our end users as a web filter to protect against Malicious Websites, DNS Threats and Adult Websites. Today we will be running the Domain Configuration Script on our domain controllers so DNS can function properly on the Domain Controllers.

First, you will need to SPIN up at least two Virtual Appliances for DNS routing. Once you have done this, you are ready to run the script.

  1. Download the Windows Configuration Script from your Umbrella portal at

Once downloaded, Remote Desktop to a Domain Controller and transfer the *.wsf file to your Desktop or a Folder of your choice. In our case when we install anything on a domain controller we create a folder called C:\Installed\ to house this. This helps us keep track of what’s installed and if another technician works on this, they can see it.

2. Run Powershell as Administrator.

To do this, click the Search Icon

Then Type Powershell, Right mouse click and Run As Administrator

Once powershell opens we will want to set the Execution Policy to Unrestricted. To do this, type:

Set-ExecutionPolicy Unrestricted

You will then be prompted of the execution policy change, Are you sure you want to do this?

Type: Y and press Enter

Now let’s run the script.

Type the following command, change the C:\Installed\OpenDNS-WindowsConfigurationScript-20190214.wsf

To your location of the *.wsf File.

C:\Windows\System32\cscript.exe C:\Installed\OpenDNS-WindowsConfigurationScript-20190214.wsf

Copy and Paste this into Powershell and Press Enter.

The Windows Script File should run and ask you if you want to Auto-Configure,

Type Y and Press Enter

Umbrella will then ask you if you want to register the domain controller in the cloud. Type Y and press enter. It will then update the status in the cloud and you are all set!

Thank you!

Create a Certificate on your Root CA for Cisco VCS and VCSE

You will need to generate a CSR before running the commands below. Once you recieve your CSR.txt file, you will want to change the extension from .txt to .csr.

Then copy the *.csr file to your Root Certificate Authority Server in our case we are using Windows Active Directory Certificate Services.

Now let’s generate the X.509 Certificate for Cisco

Remote Desktop Connection (RDP) into your Root CA

Copy the CSR File to your desktop

Run Command Prompt as Admin

Then run the following command,

certreq -attrib “CertificateTemplate:TEMPLATENAME” -submit CSRFILENAME.csr

The bold will need to be changed on how your organization is setup. To find your Template name.

Open Certification Authority in Windows

Once opened you will find, Certificate Templates in your hierarchy.

This is where you want to choose and change the TEMPLATENAME

Once you run the CMD command, you will then choose your Root CA Computer and choose a Save Location for your *.cer. You will then copy the file over to your computer or server where the certificate is needed.