Month: March 2017

101 Free Hyper-V Downloads, Tools, Scripts and Resources !!


All the tools you need to understand, install, and manage Hyper-V are available on the Internet. But, how do you find them all? Lucky for you, we’ve done a lot of the work for you. We’re collecting a list of 101 resources, tools, and downloads all related to Microsoft’s Hyper-V product. What could be better? Well, they’re all free. How’s that for better?

We need your help!

We’ve already listed 84 tools, scripts and resources and are trying to get to at least 101. Have we missed out on any you know of? Leave a comment and let us know! 


Free Tools for Hyper-V

This is a collection of utilities intended to make Hyper-V management easier. The criteria to be included here are that the tools must free (as in beer), full-featured (no trials), and must not be locked away behind any spam or telemarketing walls.

Web Interface for…

View original post 3,545 more words

Why I’m Pleased I Failed The VCDX

Why I’m Pleased I Failed The VCDX


Before I start this blog post, I want to mention that I am of sound mind and that all my faculties are functioning.  With that cleared up, I want to start with some context.

Throughout my IT career, I have always built my knowledge based on what I believe is credible within the market place.  This hasn’t ever been from a technical perspective, rather a business point of view.  Don’t get me wrong technology can be cool, but being cool without a use case means you won’t have a very long shelf life.

The pace of change within IT is significant, to stay up to date and relevant requires dedication, discipline and perhaps most important of all time.  Time away from family and friends locked away in a quite room reading, watching online courses and spending hours building environments in your home lab.  With this in mind, when I focus…

View original post 1,154 more words

Azure Functions – Create Queue Trigger

Praveen Kumar Sreeram's Blog

Please go through the following article to understand about Azure Functions.


This article is an extension to one my previous article Azure Functions – Create Generic Webhook Trigger.

As discussed in the previous article, any Azure Function app Function can just have one trigger, but it can have multiple outputs. In our previous article, we have learnt how to send response as an output to whoever is calling the Webhook.

In this article, we will learn how to add a new output (Queue using Queue Trigger) to the Generic Webhook.

Let’s navigate to the Function App created in the previous article and navigate to…

View original post 427 more words

Azure Functions – Create Gerenic Webhook Trigger

Praveen Kumar Sreeram's Blog

Please go through the following article to understand about Azure Functions.


Webhooks are “user-defined HTTP callbacks”. They are usually triggered by some event, such as pushing code to a repository or a comment being posted to a blog. When that event occurs, the source site makes an HTTP request to the URI configured for the Webhook.


Below are few of the real-world cases where you might have to develop Webhooks.

  • In a Blog site, you would like to send an e-mail to the end user as soon as a comment is posted. You might call a Webhook that is responsible for sending an e-mail.
  • In an e-commerce site, you might want…

View original post 390 more words

Search Solving SQL Server High CPU with IIS Request Filtering

The other day I was troubleshooting 100%  CPU utilization on a SQL Server 2008 database server. The server had 100 or so databases of varying sizes however none were larger than a few hundred MB and each database had a corresponding web site on a separate web server.  Since the server hosted quite a few databases the high CPU needed to be resolved quickly because it was causing issues for everyone.  High CPU on a database server can often be symptomatic of a issues occurring outside the server. In this case the real issue was in fact being caused by a SQL Injection attack on a web server.\r\n

Top Queries by Total CPU Time

\r\nThe knee jerk reaction when experiencing high CPU may be to stop it immediately either by restarting services or recycling app pools however letting it run temporarily will help you to isolate the cause. SQL Server 2008 has some great built-in reports to help track down CPU utilization. On this occasion I used the Top Queries by Total CPU Time report. You can get to this report by right clicking on the server name in SQL Server Management Studio and then selecting Reports.\r\n\r\nimage\r\n\r\n \r\n\r\nThe Top Queries by Total CPU Time report will take a few minutes to run. However once it completes it provides a wealth of information. You’ll get a Top 10 report clearly showing which queries and databases are consuming the most CPU on the server at that moment. Using this report I was able to see that one of the databases on the server had 4 different queries running that were contributing to the high CPU. Now I could focus my attention on this 1 problematic database and hopefully resolve the high CPU.\r\n\r\n \r\n\r\nimage\r\n\r\n \r\n

SQL Profiler and Database Tuning Advisor

\r\nNow that I knew which database was causing the problems I fired up SQL Profiler for just a few minutes. I wanted to get a better understanding of the activity that was occurring within the database. Looking at the high number of Reads coming from the app named “Internet Information Services” I was starting to realize that web site activity was hitting the database pretty hard. I could also see plaintext  data being inserted into the database and it was clearly spam.\r\n\r\nimage\r\n\r\n \r\n\r\nBefore I turned my attention to the web site however I wanted to see if there could be any performance improvement using the Database Engine Tuning Advisor since I had the valuable profiler trace data. The DTA will analyze the database activity and provide a SQL script with optimizations using indexes, partitioning, and indexed views. Usually with DTA I’ll see 5-10 % performance improvement. I was excited to see a 97% improvement!\r\n\r\nimage\r\n


Preventing SQL Injection with IIS Request Filtering

\r\nAfter I applied the optimizations script from the Database Engine Tuning Advisor the CPU utilization on the database server improved considerably. However, I knew the web site was experiencing suspicious activity so I used Log Parser to get some reports from the site’s traffic log. Using the query below I could see the most frequently used querystring values and it was obvious the site experiencing a SQL Injection attack.\r\n

\r\n\r\nlogparser.exe -i:iisw3c “select top 20 count(*),cs-uri-query from ex140702.log\r\n\r\ngroup by cs-uri-query order by count(*) desc” -rtp:-1 >file.txt\r\n\r\n


\r\n\r\nWith attacks like this a natural inclination is to start blocking IP addresses. Unfortunately sophisticated attacks will use a variety of IP addresses so as soon as you block a few address malicious requests from new ones will take over. The best solution is to block the malicious requests with Request Filtering so I quickly added a few rules to block keywords I had seen in my log parser reports.\r\n\r\nrequestfiltering\r\n\r\n \r\n\r\nImplementing the IIS Request Filtering rules stymied the SQL Injection attack. Using the Log Parser query below I could see the http status codes of all the requests hitting the site with the new rules in place.\r\n

\r\n\r\nSELECT STRCAT(TO_STRING(sc-status), STRCAT(‘.’, TO_STRING(sc-substatus))) AS Status, COUNT(*)\r\n\r\nAS Total FROM w3svc.log to TopStatusCodes.txt GROUP BY Status ORDER BY Total DESC\r\n\r\n


\r\n\r\nRequest Filtering uses the http substatus 404.18 when a query string sequence is denied. Looking at Log Parser report below you can see the  50,039 requests were blocked by the new Request Filtering rules.\r\n\r\ntopstatuscodes\r\n

An Once of Prevention…

\r\nThe web site that had been attacked hosted free cooking recipes and allowed visitors to submit their own recipes. Unfortunately the owner’s goodwill was easily exploited because there was no form field validation on site’s submission page and new recipes were automatically being displayed on the site without being approved. This is a dangerous site design and should never have been deployed without basic security measures in place.\r\n\r\nI did a quick select count(*) from the recipe table in the database and was amused by all the delicious recipes I found Smile.\r\n\r\nimage\r\n\r\n \r\n

In Summary

\r\nSQL Server 2008 has several built-in reports like Top Queries by Total CPU Time to help Investigate high CPU utilization. Running SQL Profiler will provide detailed analysis of database activity. Running the profiler output through the Database Tuning Advisor can yield significant performance improvements for the database. IIS Request Filtering is a powerful tool to block SQL Injection attacks against a web site. However, SQL Injection can be easily mitigated using basic data validation. Thanks for reading.


Reference Link –

Posted by Sheikvara

+919840688822, +919003270444

Splitting the Log Files as per day in MongoDB

Rotate the log file.

Rotate the log file by issuing the logRotate command from the admin database in a mongo shell:

use admin
db.runCommand( { logRotate : 1 } )


Note –  If anyone knows automated Script for the above command. Please share the automated script in my mail.


Posted by Sheikvara

+919840688822, +919003270444

mail id –




Enterprise Baked Privileged Access for Microsoft Cloud (no-Hybrid)

All Identities


Many organizations in order to comply with information security standards keep some baseline security safeguards what includes privileged access management (PAM) and monitoring. In legacy pre-cloud environments, many PAM vulnerabilities i.e. weak passwords or creeping privileges, were identified with rather low/medium risk. With emerging cloud computing legacy security boundaries like firewalls, on-premisses directories etc does not reduce the risk of weak or simply missing PAM processes. Microsoft Cloud has attracted maybe not all but definitely majority of customers with large and complex environments. Some of the customers decided to move maintain Hybrid solution with Azure Active Directory Connect (AADConnect) synchronizing on-premises Active Directory Domain Services (AD DS) with cloud-based Azure Active Directory (Azure AD or WAAD). However, there are companies that decided to manage Azure AD as a separate target system, a security boundary with no on-premises systems impact (i.e. AD DS). These companies use pure-cloud (no-Hybrid) solutions (see Microsoft Cloud – Azure AD: doing it right) where…

View original post 2,098 more words