2024
Send mail through SendGrid API using PowerShell
Learn how to use the Twilio SendGrid Web API v3 to send mail with PowerShell
Moving away from WordPress
Yes, I'm moving Sysadmins of the North away from WordPress and migrate to another CMS.
Disable ECDH public server param reuse in Windows Server IIS
Windows Server IIS is known for reusing DH key values, but there is a way to disable ECDH public server param reuse in Windows Server IIS and here is how.
Create strong passwords in Windows
Learn how to create strong and unique passwords in Windows using PowerShell, because the use of those is important. Whereas creating a secure password was difficult in Windows, you nowadays have the tools at hand to do this properly. Unique passwords keeps you safe(r) online and all those unique passwords are easily and securely stored in a password manager.
Install IIS in Windows 11 using PowerShell
Have a need for IIS in your Windows 11 development station, and now you wonder how to install IIS? Here I describe how you can easily install IIS and some modules using PowerShell
Monitor website performance in IIS with Zabbix
Zabbix is a great tool to monitor your website performance on IIS using Performance Counters, PowerShell and WMI.
2023
Use PowerShell with SSL client certificates for HTTPS GET requests
Sometimes you have use a specific TLS/SSL certificate or thumbprint for outgoing HTTPS connections because of endpoint restrictions. To test these connections you can use PowerShell, but how do you get the required certificate from your certificate store?
Test if a port is open with PowerShell
Learn how to use PowerShell Test-NetConnection to test if a TCP port is open
Calculate SHA-256 checksums in PowerShell
Learn how to calculate and create file checksums with PowerShell's Get-FileHash and certutil.exe. Use this to validate file integrity in Windows (Windows Server).
IPv6 support for WSL2! 🥳
Windows Subsystem for Linux (WSL) 2 now has native support for IPv6! 🥳
Windows SID to username and vice versa
Old school: learn how to convert a Windows SID (security identifier) to an username, or vice versa (username to SID) using PowerShell and VBScript.
Get SQL database backup details with PowerShell
Whenever I need to restore an SQL Server .bak backup file, I want to know some properties of the backup file to make sure I'm working with the correct file(s). Luckily, the .bak file and PowerShell provide all the information I need, so I don't have to start a Restore procedure in SQL Server Management Studio (SSMS) just to view the header information. As you know, SSMS is slow...
Get IIS Current Connections using PowerShell
Use Get-Counter in PowerShell to get the current number of connections to IIS hosted websites. This information is stored in Windows Server Performance Counters, and you can get it using `Get-Counter` cmdlet in PowerShell of course. But in post I'll show you a different - and perhaps even faster - method using CIM and Win32_PerfRawData_W3SVC_WebService. Read on...
Install SSL/TLS certificates in Windows Server using PowerShell
The following PowerShell snippet can be used to quickly install an SSL (or TLS) certificate in Windows Server. It assumes you have a PFX file and its password. The default location is Cert:\LocalMachine\My, to use for IIS websites.
Tune Windows Server TCP/IP and IIS
In this small post I'll guide you through the various Windows Server and IIS configuration settings, for an optimized network performance, high performance websites and high volume of web requests.
Install Windows Updates using PowerShell
You can use PowerShell to install Windows Updates automatically, unattended and simple. Neat, right? For this, you don't have to have an enterprise environment with WSUS, or Windows Server, but since this is Sysadmins of the North, I assume you do. In this post I'm show you how to install Windows Updates with PowerShell and the PSWindowsUpdate module.
Send email with PowerShell
Easily send your DevOps reporting by email with this PowerShell function, because the Send-MailMessage cmdlet is obsolete. Of course you'll be using StartTLS and authenticated SMTP as additional security.
Are you in my blocklist?
With just a few manual steps, you create your own little blocklist for WordPress in either a `.htaccess` or `web.config` file. Here are the IP addresses I'm currently blocking. Note, this list can get long (loooonnggg).
2022
Create an additional SQL Server Login
Here is a small T-SQL snippet that creates such a login for contained databases in SQL Server and adds memberships.
Monitor SQL Server and databases in depth using Zabbix
Whether you run a .NET web application or administer a webserver that hosts .NET web applications, it is important to keep an eye out for memory usage. As developers and systems administrators we're all too familiar with OutOfMemoryException. As the name suggests, the exception is thrown when a .NET application runs out of memory, something you don't want to happen.
Query all WordPress posts in MySQL not having a Yoast SEO meta description
If you just started using Yoast SEO it's sometimes nice to know which posts don't have a meta description yet. Knowing this, you can add the description which is good for your SEO results. Here is a query you can use to query all posts in WordPress not having a Yoast SEO meta description yet. You can run this on your MySQL prompt or in phpMyAdmin.
Configure Windows Debugging Symbols in WinDbg
In this article I explain how to set up debugging symbols for WinDbg in Windows.
Extract files from an MSI package
To extract all files from a .msi file, use the following msiexec command and arguments.
Connect to a KVM host through an ssh tunnel and arbitrary port in Windows 11 and WSL 2
If you need to connect virt-manager to a KVM host over ssh in Windows, then Windows 11 and WSL 2 made things a whole lot easier for you. Even if you need to connect virt-manager through an ssh tunnel and arbitrary port because your network is reachable only through a bastion host with ssh key authentication. Here is how.
Windows 11/10 and WSL 2 DevOps environment
In this post I describe some of the settings and changes I made to make my Windows 10 and Ubuntu WSL into a fully fledged development environment. Here are the settings and tools I use for DevOps/SysOps on Windows.
YubiKey support in OpenSSH for Windows 11 and Windows 10
Now Win32-OpenSSH has decent support for FIDO/U2F hardware authenticators you can finally use your YubiKey for SSH authentication in Windows 11, jeej! Here is how.
How to display longer username in `ps`
Have you ever had the need to show the full username in ps output? Here is how. Normally in Bash, the ps output truncates an username to 7 characters and a \+ sign, e.g IUSR_60\+. In cases when you absolutely need the full username in ps, this can be pretty annoying. Here is how to display longer usernames in ps
Monitor .NET CLR Garbage Collected heap from your web application
Whether you run a .NET web application or administer a webserver that hosts .NET web applications, it is important to keep an eye out for memory usage. As developers and systems administrators we're all too familiar with OutOfMemoryException. As the name suggests, the exception is thrown when a .NET application runs out of memory, something you don't want to happen.
Quickly check EnableTrailerSupport isn't set in your network for http.sys (CVE-2022-21907)
Find out fast if your IIS webservers have EnableTrailerSupport enabled for https.sys in the registry
Convert SqlCe database to SQL Server
Now the SQL Server Compact (SQL CE) database type is unsupported, it's recommended by Microsoft to upgrade to SQL Server. But how do you convert your SqlCe database? I'll explain in this article, read on.
2021
How to optimize Umbraco 8 performance
Out of the box, Umbraco is a well built and pretty fast content management system. However, it is still important you perform some steps to further optimize Umbraco's performance and loading speed.
3 Ways of blocking sendmail.php on IIS webserver
Here are 3 ways of blocking access to a PHP sendmail.php script on your Windows Server IIS webserver. This comes in handy if a websites on your webserver sends out spam and you need to block access to a script on a specific website or globally in IIS. You can use a web.config file for this purpose, and here is how.
How to extend TinyMCE in Piranha CMS?
In Piranha CMS you can easily extend TinyCME with additional plugins, here is how.
How to add a trailing slash in Umbraco 8
This article shows you how to add a trailing slash to URL's in Umbraco 8, using IIS URL Rewrite Module, without breaking the Umbraco backend. Forcing one particular URL avoids duplicate content, which is important for SEO.
Adding VirtIO drivers to Windows Recovery Environment (Windows RE)
Learn how to add VirtIO drivers to your Windows Recovery Environment (Windows RE) to recover your Windows virtual machines. Using Powershell ofcourse and Windows Server 2022.
Retrieve SSH public key from Active Directory for SSH authentication
If you have tens (hundreds) of servers and/or users it's easier to retrieve user SSH public keys from Active Directory (AD) than from various unmanaged authorized_keys files.
Install SQL Server cumulative updates silently
Installing SQL Server cumulative updates is always a cumbersome, and quite daunting task. Unpacking and running the CU installer is a slow process, you have to click through a lot of screens, and it's hard to get it to install silently. But here is how!
Remove computer object from Windows Server Update Services (WSUS) in PowerShell
Here is a short PowerShell snippet for you to remove a computer object from Windows Server Update Services (WSUS).
How to add, list and remove IP addresses in Windows Firewall
How to bulk add IP addresses in Windows Firewall, list an IP address and how to remove all IP addresses from Windows Defender Firewall with Advanced Security
Block brute force attacks on SQL Server, block IP addresses in Windows Firewall using PowerShell
This PowerShell solution blocks IP addresses that are trying to brute-force your SQL Server logins, by blocking IP addresses in Windows Defender Firewall with Advanced Security.
Windows Defender: Turn off routine remediation (DisableRoutinelyTakingAction)
You can turn off Windows Defender routine remediation using a GPO setting called "DisableRoutinelyTakingAction". This policy setting allows you to configure whether Microsoft Defender Antivirus automatically takes action on all detected threats.
How to enable HTTP/3 in Windows Server 2022
With the release of Windows Server 2022, there is now native support for hosting HTTP/3 services in IIS 10.0. Jeej!
How to share OpenSSH keys with WSL in Windows 10
Don't want to copy over your ssh keys from Windows to WSL 2 Linux? Or generate new ones? Then share your Windows OpenSSH key with WSL 2! The OpenSSH config gives you the option to share keys using an IdentityFile directive. Here is how you can share your SSH keys between Windows 11/10 and WSL 2.
Increase WMI memory to support large volume of queries
Learn how to fix memory issues and subsequent crashes in WMI / WmiPrvse.exe by increasing available memory and handles
How-to fix Windows Defender error "Get-MpComputerStatus : The extrinsic Method could not be executed."
Enabling Windows Defender per GPO errored out with the error message "Get-MpComputerStatus : The extrinsic Method could not be executed.", here is how to resolve this issue.
Install and setup IIS Manager for Remote Administration in Windows Server IIS (step by step)
You can use IIS Manager to administer various components of your website through a graphical user interface (GUI) if it's hosted in Windows Server IIS. In this article you'll learn how to install and setup IIS Manager in Windows 11/10 to manage your website(s).
Delete saved RDP credentials from Windows 10 Credentials Manager, using cmdkey
Execute the following command in an elevated `cmd.exe` command-prompt terminal to quickly delete all saved Remote Desktop credentials from your Windows 10 Credentials Manager
Getting more out your Windows Performance Counters monitoring for web applications - part 3
Zabbix monitoring for your websites and ASP.NET applications in IIS using _Process Performance Counter.
Monitor IIS application pools in Zabbix, part 1
Here is a small introduction to query the number of running w3wp.exe processes per IIS application pool in Zabbix so you can start monitoring Microsoft Windows Server IIS with Zabbix.
ASP.NET web application monitoring in Zabbix, part 2
When you host multiple websites in IIS, and you need to monitor them, Zabbix is one of your options. In Zabbix, you can take advantage of Windows Server performance counters. And in this article I show you some important Windows performance counters you can use to monitor your ASP.NET web application in Zabbix.
Disable WordPress XCloner Plugin logger in MySQL / phpMyAdmin
If XCloner Logger option is enabled, it will store a log file inside the xcloner-XXXXX folder inside the backup archive. This can generate a huge amount of temporary files and log files, slowing down your file system.
Disable Joomla Contacts component (com_contact) in MySQL / phpMyAdmin
The built-in Joomla contact forms component (com_contact) is abused by spammers, I explain how to disable these forms and combat this abuse.
2020
Force HSTS in Apache .htaccess
Learn how to enable HSTS in Apache .htaccess configuration file to start using HTTP Strict Transport Security (HSTS)
Install OpenSSH in Windows Server
OpenSSH is an ideal and secure way of performing remote maintenance & administration on your servers. Even on Windows Server! :-)
Emulate ternary operator in PowerShell
For example when determinering if the server you are servicing is a Windows Server Desktop Experience version or Server Core
How to remove IIS from Windows Server using PowerShell
How to remove IIS from Windows Server using PowerShell
Force BITS to download WSUS updates in the foreground in Windows Server
WSUS uses BITS for downloading updates, and it does so in background mode. Unfortunately, this utilizes remaining bandwidth of the server instead of its full capacity. To speed up WSUS downloads, you can configure BITS in WSUS to use foreground priority.
Securing privileged access
Protect your privileged admin credentials!
Hugo development environment in WSL 2
Using WSL it is pretty easy to install Hugo, set up your development environment and configure Hugo to listen on your Ubuntu's IP address, here is how.
Quickly view all symbolic links, junctions points and hard links in a folder
When you migrating a file server and transfering data, you may need to recreate junction points, as they cannot be copied using (for example) Robocopy. This makes it a must to know where you have junction points, and that is where PowerShell and even plain old cmd.exe DIR come to the rescue.
How to Fix Yoast SEO for WordPress DeleteDuplicateIndexables MySQL error
A possible fix for Yoast broken DeleteDuplicateIndexables statement
Count and display number of WordPress users in your Dashboard
Show the number of registered WordPress users in a At-a-Glance widget. This is particular handy as an indicator of compromise (IoC), when a hacker has registered numerous new users in your WordPress database for spam purposes.
Find vulnerable WordPress plugin versions fast using PowerShell
Use PowerShell to find vulnerable WordPress plugins on your Windows webserver fast, because on a daily bases, new vulnerabilities are found in WordPress plugins and you can count on the fact you have customers using that vulnerable version of that particular plugin.
Disallow direct access to PHP files in wp-content/uploads/
It's recommended to disallow access to and execution of PHP files in wp-content/uploads folder. Preferably without the use of a security plugin. Blocking access to PHP files in WordPress wp-content/uploads folder is easily achieved with .htaccess on Linux Apache, or `web.config` accesssPolicy in Windows Server IIS. And here is how.
WMI Filters for Group Policy to manage Windows Server versions
This post contains some example WMI filters for you to use in Group Policy Objects (GPOs) to target and manage specific Windows Server versions like 2012R2, 2016 and Windows Server 2022/2019.
Basic Authentication module for Windows Server IIS 10
Basic Authentication managed HTTP module for IIS 10 with virtual users support. In my pursuit of a basic authentication alternative in IIS, other than the built-in Basic Authentication module or Helicon Ape, I came across Devbridge AzurePowerTools. It's apparently one of few HTTP managed modules for IIS that enables HTTP Basic Authentication with support for virtual users.
IIS 10.0 FTP IP Security allow list
In this post I'll show you how to configure an IP allow list for IIS FTP Server using PowerShell, iisadministration and webadministration modules
2019
Removing phantom application folders from website configuration in IIS
How to remove phantom application folders from websites in IIS using PowerShell
Delete spam comments after three (3) days
Change Akismet interval to three days instead of 15 days for deleting spam comments using the akismet_delete_comment_interval filter
IIS backup and restore
Backup and restore IIS 10 webserver configuration with appcmd.exe and PowerShell
How to fix System.Collections.Generic.KeyNotFoundException "The given key was not present in the dictionary" Exception with MySQL Connector/NET and utf8mb4 character set
MySQL Connector/NET and utf8mb4 character set can cause an exception System.Collections.Generic.KeyNotFoundException "The given key was not present in the dictionary".
Reduce Wordfence CPU usage, disable Wordfence "Live Traffic View"
The Wordfence "Live Traffic Options" ("Traffic logging mode") feature can cause high CPU usage and load issues for WordPress websites.
Use -SearchBase with Get-ADComputer for faster results
Using -SeachBase with PowerShell's Get-ADComputer gives me faster results with AD DS queries.
Install Windows Server Servicing Stack Updates (SSU) using PowerShell
Install Servicing Stack Updates (SSU) for Windows Server 2012R2, 2016 and Windows Server 2019 using PowerShell, without downtime
Automatically flush Redis cache after publishing a WordPress post
Did you know you can automatically flush opcode caches like Redis when you publishing a post or page in WordPress? Doing so ensures you and your visitors see the newly created content immediately.
Setting up Monit monitoring in Windows Subsystem for Linux WSL
How to install and configure Monit monitoring in Windows 11/10 WSL
2018
Silently import .reg file in your Windows registry
Learn how to silently import a .reg file into your Windows Registry. This neat regedit trick comes in handy quite often. The regedit command is valid for Windows 11, 10, Windows Server 2022, 2019 and older.
How to uninstall and remove Adobe Flash Player in Windows Server
You can easily uninstall and remove Adobe Flash Player from Windows Server using Deployment Image Servicing and Management (DISM)
11+ Tips to optimize Umbraco 7 CMS
11+ tips to optimize Umbraco 7 performance on Windows Server
WordPress .htaccess security best practices in Apache 2.4.6+
Since Apache 2.4.6, a new module is used to configure and set up access control for websites: mod_authz_core. This means you have to use a different syntax for allowing or blocking hosts and IP addresses to your website.
How to set SVN_EDITOR environment variable in Windows Server
Learn how to set SVN_EDTIROR environment variable in Windows Server to resolve subversion errors
Manually failover all databases in an SQL Server Database Mirroring configuration
A manual SQL Server failover can only be initiated from the principal server, and the mirrored database must be synchronized (that is, when the database is in the SYNCHRONIZED state). In this article I will show you how to manual failover mirrored SQL Server databases using Transact-SQL (T-SQL) in SQL Server 2017 and up.
ASP and ASP.NET connectionstring examples for Microsoft SQL Server and MySQL
A connectionstring is sometimes a bit obscure. Do I need ODBC or OLE DB? When you need one and Google for it, you often find old ones that either don't work at all anymore, or are not optimal. This article provides you with a couple of ASP.NET to SQL Server connectionstring examples, and as a bonus for ASP to MySQL too.
MySQL Connector/ODBC C# test script
Quickly test the MySQL database connection from ASP.NET using this C# test script. It utilizes the MySQL ODBC 8.0 Unicode Driver and SslMode is available.
Working with file attributes in PowerShell
Working with PowerShell Get-ItemProperty to get file attributes may boost your work productivity. It's often easier to getting things done if you have a more generic way of doing something. Here is how to use Get-Item and Get-ItemProperty in PowerShell to perform and streamline day to day tasks like installing or updating software based on file versions. I also address changing timestamps on files in short.
How to use SSL in PHP Data Objects (PDO) mysql
If you want to connect securely to your MySQL database using PHP Data Objects (PDO), here is how to connect to MySQL with PHP PDO using an SSL encrypted connection.
Fatal error: Uncaught Error: [] operator not supported for strings - PHP 7.1
With PHP 7.1, some PHP web applications fail because of deprecated code usage. This may result in an error message like `[] operator not supported for strings` for various Joomla, WordPress and Drupal components. Here's how to fix this code for PHP 7.1+.
Windows Server 2016 on Hyper-V stuck at stopping
When a Windows Server 2016 guest VM on Hyper-V hangs while stopping after Windows Updates, and it won't reboot, it might be caused by the recovery debug information type set. Here is some additional information.
List all SPNs used in your Active Directory
List Service Principal Names (SPNs) in your Windows network quickly using PowerShell
Increase WordPress' memory limit WP_MEMORY_LIMIT properly in wp-config.php
How to increase the memory limit for your WordPress website, the right way. In this post I show you a correct way of setting WordPress WP_MEMORY_LIMIT and PHP memory_limit settings to improve Wordpress speed & performance.
2017
How to: Determine which .NET Framework versions are installed
Users can install and run multiple .NET Framework versions on their computers. When you develop or deploy your app, you might need to know which .NET versions are installed on a machine.
How to unzip a file in PowerShell
Unzip a file on your PowerShell command-prompt may come in handy sometimes, even on your Windows 11/10 workstation. Use Expand-Archive for this, and all that is required is PowerShell 5.0+, or the .NET 4.5+ Framework to use System.IO.Compression.ZipFile.
Release hold queue email in Postfix - postsuper
The `postsuper` command controls different types of queues in the Postfix mail system, like the deferred or hold queue. This post shows you some Postfix queue operations to maintain your mail servers.
How to determine if a SQL Server backup is compressed?
Compressed SQL Server backups can be verified in PowerShell using a handy PowerShell function. This comes in handy when you need to verify if existing SQL Server backups are compressed.
WsusPool keeps crashing: stops again and again
WSUSPool keeps stopping? Sometimes you find your WSUS server keeps crashing over and over again. The WSUS application pool periodically stops, WSUS is unavailable and/or the WSUS management console hangs.
What are 4 important security measures for Windows Server & IIS 10?
In this post I address four (4) important actionable security measures for your servers running Windows Server (AD DS, DFS, IIS) and RDP.
How to disable SMBv1 in Windows 10 and Windows Server
It is urged you disable SMBv1 in your Windows variant (Windows 10, 8.1, Server 2016, 2012 R2), and here is how if you haven't done so yet.
How to detect ethernet network speed in Windows
Being able to detect the ethernet network speed using PowerShell or WMI is perfect for Windows Server Core. If you ever need to lookup the speed of your ethernet network card in Windows, on the command-prompt, use one of the following PowerShell / WMIC commands.
DisableNSRecordsAutoCreation with Dnscmd
This post explains how to restrict automatic NS resource record registration in Windows Server DNS using Dnscmd. This prevents Windows Server DNS to automatically create NS records for zones that it hosts on the server.
How to make Twenty Seventeen theme full width in WordPress
The default WordPress theme Twenty Seventeen's content width can be easily changed to full width. All you need is this bit of CSS. To make Twenty Seventeen full width in WordPress, add the following CSS to your theme's CSS file, or in Customizer's Additional CSS.
2016
Enable NTFS long paths GPO in Windows Server 2022, 2019 and Windows Server 2016
Windows Server 2016 was finally released last week, meaning we can finally lift the idiotic 260 characters limitation for NTFS paths.
Clear PHP opcode caches before WordPress Updates: ease the updating process
WordPress core-, plugin- and theme updates sometimes fail because of enabled opcode caches in PHP. Popular PHP opcode caches are OPcache, WinCache and APC. This little WordPress Must Use Plugin tries to flush opcode caches. Making your live a bit easier when updating WordPress Core, Plugins and Themes.
The WinCache effect: Save with object caching
WinCache, or Windows Cache Extension for PHP, is a PHP accelerator that is used to significantly increase the speed of PHP applications running on Windows Server IIS. Besides increasing the speed of PHP applications, WinCache decreases CPU usage making it a win win situation extension.
Measure WordPress loading time and queries
During an HTTP request, WordPress executes a lot of queries on your MySQL database. Not just the database queries take time, also loading and executing PHP takes time. How to measure WordPress loading time and executed database queries?
Benchmarking WordPress, simple load & speed testing with ApacheBench
In this post I show you how you can benchmark the loading speed of your WordPress. For this you use ab, or ApacheBench. ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs.
Intrusion Detection with Windows Event ID's
This paper is the best I have ever read on how to build IOC's with Windows Event ID's. I highly recommend you to read it, it contains very useful information and some very interesting behavioral examples of attacker activity. If you are looking to enhance your detection in your core network this is the document!
Optimized WordPress hosting (9+ practical tips)
Optimized WordPress hosting is a subject on which a lot is written about. And therefore, this post is not about where to host your WordPress blog, or who offers the best WordPress hosting. This post is for _you_ developers, what _you_ can do to optimize your WordPress hosting. Or for any other PHP web application for that matter.
WordPress advisory Akal premium theme XSS vulnerability
Over the course of one week I had the opportunity to audit two hacked WordPress websites. I could quickly discover two vulnerabilities, a Cross Site Scripting, or XSS, in a premium WordPress theme Akal, and a Denial-of-Service in an undisclosed newsletter plugin.
5 Extra ways to clean up disk space in Windows Server
Available diskspace usage is often an issue with Windows Server from 2012 and up. Here are five extra ways to clean up disk space in Windows Server.
List all MAC addresses of all Hyper-V Virtual Machines
You sometimes need to list and get all MAC addresses of all Hyper-V virtual machines in your network. Either for your Hyper-V administration or provisioning if you don't set an unique MAC address automatically. Here is how to get all those MAC addresses easily with PowerShell.
SSL in WordPress: how to move WordPress to HTTPS? The definitive guide
Having an SSL certificate in your WordPress is the de-facto standard nowadays, did you know that? Google ranks sites having HTTPS higher in their SERP. But in WordPress, how do you configure an SSL certificate and HTTPS URL? You'll learn the important steps to move WordPress from http to https in this post.
MySQL InnoDB performance improvement: InnoDB buffer pool instances - Updated!
Are you running into MySQL load problems? InnoDB Buffer Pool optimization is an important step in tuning MySQL servers for a heavy InnoDB workload. Configuring innodb_buffer_pool_instances and increase read/write I/O threads. Dividing the InnoDB buffer pool into multiple instances can improve Disk I/O. And by doing so, you run your database & server more efficiently and faster. Here is a little help for you.
How to install IIS URL Rewrite Module on Windows Server 2016 & IIS 10
When you start to play with Windows Server 2016 and IIS 10, you'll get an error when you try to install the IIS URL Rewrite Module in IIS. The error occurs because the URL Rewrite Module installer contains an invalid version check for the IIS being used. Here is how to install IIS URL Rewrite Module 2 in IIS 10...
Ghost on IIS with HTTPS, how to resolve a "Too many redirects" error
When you use iisnode to host the Node.js blogging software Ghost on your IIS web server you may encounter a \"Too many redirects\" error while setting up and TLS/SSL certificate for your site. Here is the solution.
AppCmd introduction and examples
The `AppCmd.exe` command is your one-stop-shop for administering Windows Server IIS web servers. In combination with WinRM it's your Swiss Army knife for your daily routine. This post introduces appcmd and provides you with a lot of helpful appcmd examples.
Get current number of FTP client connections (NonAnonymous) with PowerShell and Get-Counter
Ever wanted to know the current number of active FTP client connections on your Windows Server IIS FTP Service? You can get this statistic using PowerShell, the `Get-Counter` cmdlet and the Microsoft FTP Service Current NonAnonymous Users performance counter.
Simple PowerShell introduction for Windows Server administration, automation and scripting
Windows PowerShell is an important tool in Windows Server for administrators. You can use PowerShell for Windows Server administration, software installation, automation, and shell/command-prompt scripting.
Windows Update error 0xc1420127 and 0xc190010b when upgrading Windows 8.1 to Windows 10
After downloading the Windows 10 update through Windows Update, Windows Update returned errors `0xc1420127` and `0xc190010b`, even after using the Windows 10 media creation tool
How to install Microsoft's SQL Server Driver for PHP
This post walks you through the steps necessary to install the SQL Server driver and SQLSRV extension for PHP 7+, on Windows Server IIS of course.
Optimize WordPress MySQL tables through Cron, behind the scenes
To regularly optimize my WordPress database tables, I created a small plugin that utilizes the WordPress Cron feature. This comes in handy to perform database optimization for WordPress on a regular basis, without forgetting about it. Just activate and enjoy. And here is the plugin code.
HackRepair.com's Bad Bots .htaccess in web.config for IIS
Learn to protect your WordPress website with this web.config file
IIS URL Rewrite "Rewrite Module error: Expression contains a repeat expression"
The other day, I had to migrate a website from a Linux / Apache web server to Windows Server IIS. Yes, that type of migration happens too, sometimes. The website in question had a lot of sub domains, all pointing to folders within the web root using that same name: foobar.example.com would redirect (rewrite) to www.example.com/foobar.
Cracking PHP rand()
This is a very interesting read about how PHP rand() works, and how to attack & crack it...
Recursive scp and symlinks
TL;DR, when using recursive scp, symbolic links aren't preserved and are copied as if they are normal directories. So you have to look for another solution to recursively transfer symlinks over ssh. Use Tar over ssh!
Deny vulnerable WordPress plugins using Windows Server File Server Resource Manager's File Screens
Using Windows Server File Server Resource Manager (FSRM) File Screens you can block vulnerable WordPress plugins from being uploaded to your [IIS](/tags/iis/) web server. In the following example, you'll learn how to block WP DB Backup plugin system-wide on Windows Server, read on...
2015
SQL Server versions list
How to identify your Microsoft SQL Server version, build and edition.
Generate pseudo-random passwords with OpenSSL
OpenSSL comes in handy when you need to generate random passwords, for example for system accounts and services. In this short post I'll give you a quick example on how to generate random passwords with OpenSSL in Linux (Bash), Windows and PHP.
Always_populate_raw_post_data setting in PHP 5.6 & Magento 2.0
How to fix upgrades to Magento 2.0 in PHP 5.6 and higher: PHP 7+.
RewriteProxy with .htaccess in IIS
In my case scenario, I had to proxy requests in IIS, because a website was moved from web server A to B, and the DNS wasn't updated yet. All HTTP requests for the moved website are handled in IIS' Default Web Site; that's the wildcard host, and the original host no longer existed there. We needed to match our website and proxy those requests to the new IIS web server. This can either be done using a proxy with URL Rewrite Module, IIS Application Request Routing (ARR), or .htaccess file handled by Helicon Ape.
Get Hyper-V guest serial number with PowerShell
Learn how to retrieve the Hyper-V virtual machine's serial number with PowerShell
How to block BaiduSpider bot User-Agent?
The Baidu spider (BaiduSpider user agent) can be a real pain to block, especially since it does not respect a robots.txt as it should. This post shows you how to block Baidu Spider bot, using IIS URL Rewrite Module based on its User-Agent string.
How to add conditional analytics tracking code in WordPress Multisite
Learn how to conditionally add Google Analytics tracking code to your WordPress Multisite
Add a delay to your WordPress login form
It is important to protect your WordPress website from brute-force attacks, and various security exist in doing so, but don't blatantly copy from other sites without proper testing, as this post points out.
How to enable HTTP Strict-Transport-Security (HSTS) on IIS
Set up HTTP Strict-Transport-Security (HSTS) response header in Windows Server IIS 10, here is some more technical information about HSTS in IIS, and other security headers...
Monitor Windows services with PowerShell
Schedule a PowerShell script to monitor local services in your Windows Server environment
PowerShell Get-FsrmQuota and Set-FsrmQuota
To get and set File Server Resource Manager NTFS quota you now have to use PowerShell FileServerResourceManager cmdlets. It's pretty easy to get directory information with Get-FsrmQuota and change dirquota.exe using Set-FsrmQuota.
Set IIS Application Pool recycle defaults to Specific Times, not Regular Time Interval
By default, an IIS application pool (or "AppPool") recycles on a regular time interval of 1740 minutes, or 29 hours. One reason for this time interval is that application pools don't recycle at the same moment every day (every day at 07.00 for example).
PHP 5.6 default_charset change may break HTML output
An important note for everyone who's upgrading from PHP 5.4 and PHP 5.5, to PHP 5.6. The PHP `default_charset` in php.ini changed from "empty" to UTF-8, making UTF-8 the default charset in PHP. This may break HTML output if you try to set a different charset in your HTML head. It may also break functions like htmlentities() and htmlspecialchars.
Redirect HTTP to HTTPS
In this post I provide you various HTTP to HTTPS redirection methods, for Windows Server IIS and Linux Apache. Use these examples to your advantage to secure the traffic between your visitors and your website.
Convert PHP ext/mysql to MySQLi
Migrating away from ext/mysql to MySQLi (or PHP Data Object ([PDO](http://php.net/pdo "PHP Data Objects"))) is important, because the ext/mysql functions are deprecated as of PHP 5.5.0. If you do not update your PHP code, your website will fail soon!
Disable WordPress comments (how-to)
With thousands spam reactions, disabling (-)and removing) WordPress comments is the only way to go. Here is how to disable WordPress comments in both the WordPress Dashboard interface and in your MySQL database.
2014
Disk Cleanup in Windows Server
Over time, as your Windows Server runs longer, more and more disk space is eaten. Simply gone! Investigating the disk usage leaves you clueless; there are no large log files, crash dumps, or there is no software to be removed. Where did that space go?
DHCP on Windows Server 2012 using 169.254.xx.xx as server name
After installing a new Windows Server 2012 R2 machine with the DHCP role enabled, adding a DHCP server used a 169.254.x.x IP address as server name. Instead of the servers hostname
Explicit Congestion Notification (ECN) slows down outbound connections
ECN is an optional feature that may be used between two ECN-enabled endpoints when the underlying network infrastructure also supports it. Unfortunately, having one ECN Capability enabled endpoint may slow down outbound network connections to outdated network equipment.
"A domain rename operation is already in progress"
The other day, when I attempted to add a newly installed Active Directory to become the slave domain controller of a master, the error message "A domain rename operation is already in progress" was displayed. Promoting the Windows Server 2012 R2 server to a Domain Controller failed.
Convert decimal to hex in Bash?
A quicky for my archives, learn how to convert decimal to hex and hexadecimal to decimal, in Bash...
Sysadmins of the North goes global!
How to set up a global Geolocation DNS load balancing Varnish Cache Content Delivery Network with Bind9, geo-ip database, Varnish Cache and DigtalOcean. DIY High-Availability for your website!
How to set a good PHP realpath_cache_size
Learn how to optimize PHP performance by checking and setting PHP realpath_cache_size
Redirect old URL to new URL or send 404 page with PHP
If you've moved some old PHP pages, or URLs, to new pages and URLs, you can use the following PHP code snippet to easily redirect all visitors and incoming requests to the new location. This PHP code snippet uses a 301 Moved Permanently redirect, perfect for SEO and returns a 404 Not Found if a new location hasn't been set up yet.
Display commas in WordPress tags
How to use a tag with a comma in it in WordPress? Normally, in WordPress all tags are comma seperated: php, wordpress, website, functions.php. But what if you need to use a tag with commas in it? For instance "cafe, bar, restaurants". Easy, create a filter in your WordPress functions.php, and here is how...
How to string replace on all WordPress posts in MySQL
Learn how to mysql replace content in your MySQL database in bulk with MySQL REPLACE. Sometimes it's useful to know how to bulk edit content in your WordPress MySQL database using MySQL replace() function.
Conditionally start Application Pools on remote IIS web servers
In this article you'll learn how to start all stopped application pools that have the ApplicationPool.AutoStart property set to $True using AppCmd.exe or PowerShell. This is something you often or occasionally have to perform on various servers, for example when an application pool hangs.
Custom PHP version on IIS Express and WebMatrix 3
PHP 7 with OPcache in IIS Express for Microsoft WebMatrix 3, learn how to create your own PHP development environment easily with Microsoft WebMatrix and IIS Express and your own custom PHP version.
Increase in SQL injection attacks
Since a week or so, I notice a huge increase in SQL injection attacks on various websites. Anyone else seeing the same SQL injection attacks lately? This increased SQL injection activity - on various web sites and databases - has the following characteristics
Send authenticated SMTP email over TLS from WordPress
Learn how to override wp-mail() and send secure email using authenticated SMTP and StartTLS from WordPress.
Remove IIS Server version HTTP Response Header
Windows Server IIS loves to tell the world that a website runs on IIS. It does so with the `Server:` header in the HTTP response, as shown below. In this post I'll show you how to remove HTTP response headers in Windows Server IIS. You don't want to give hackers too much information about your servers, right?.
.svc WCF web service returns 404 Not Found on IIS 8
When a Windows Communications Foundation (WCF) web service returns a 404 Not Found error, after installing the HTTP-Activation feature in IIS, you might need to add an extra Handler to your IIS configuration.
8 Tips to improve Joomla performance
Learn how to speed-up Joomla performance on Windows Server IIS using these 8 simple, but important, tips. Add caching, gzip compression, set your sessions & optimize MySQL database functions.
MySQL database optimization with indices
Why MySQL indices are so important? Here at Vevida, we like to help our customers as much as possible. Even with optimizing a MySQL database when they don't ask for it, or when a customer doesn't know performance can be improved. For example by adding an index because we spotted a slow query in our slow-query log.
Convert MySQL MyISAM tables to InnoDB
In the earlier days of MySQL, the default storage engine for your database tables was "MyISAM". InnoDB is the engine to use now, and MyISAM is no longer actively developed. Therefore all MySQL optimizations are for InnoDB, and it's recommended to switch from MyISAM to this InnoDB storage engine for your MySQL database tables. Follow this tutorial on how to convert from MyISAM to InnoDB.
Export and migrate WordPress to Ghost
I wanted migrate from WordPress to Ghost, but failed. Here's the write up.
How to flush MySQL query cache from time to time
From time to time you need to flush MySQL's query_cache to prevent fragmentation of free query cache memory space. In this post, you'll learn how to flush the MySQL query cache unattended / automatic through a Linux cronjob and manually on the MySQL shell.
How to delete all MAILER-DAEMON emails in Postfix queue
How to delete all MAILER-DAEMON emails from your Postfix queue, when it matches a sender or recipient email address condition. In Postfix, there are various similar commands to delete messages from the Postfix mail queue, based on the Message-ID and/or email address for example...
How to install the Web-WebSockets feature in IIS using PowerShell
Learn how to install WebSocket Protocol support in Windows Server IIS 8.0 using PowerShell's Install-WindowsFeature.
How to: Test MySQL database connectivity in ASP.NET, PHP, ASP
Whenever you need a MySQL connectivity test from a website or server, it's handy to have various test scripts nearby. Whether it is because you are setting up a new website or you have just installed a new server and are running your tests.
How to hide the .php file extension with IIS URL Rewrite Module
Sometimes it's important to remove (or hide) the file extension of scripts you use. Security by obscurity might be that reason, if you don't want others to know what script language you are using for your website, or for static site hosts.
Test SMTP Authentication and StartTLS
Investigate SMTP authentication issues like a boss! Particular over TLS encrypted SMTP connections, it's always handy if you are able to test the SMTP authentication and StartTLS connection. Preferably from your command-prompt.
IIS Outbound Rules with gzip compression
Saotn.org used URL Rewrite Outbound Rules in IIS to offload content from a different server or host name. Doing so, IIS uses URL Rewrite and acts as a reverse proxy. Add gzip compression to the mix, and this will improve website performance. But just recently I noticed Outbound Rules conflicted with gzip compressed content. The following HTTP 500.52 URL Rewrite Module Error was thrown...
prettyPhoto DOM based XSS
Uh-oh, prettyPhoto DOM based XSS on Saotn.org...
WordPress wp_options table autoload micro-optimization
Learn how to add an index and optimize WordPress' wp_options table for faster database results. This probably isn't a big issue, but today I noticed a slow MySQL query coming from a WordPress database (WordPress wp_options table). This made me investigate and to optimize the WordPress wp_options table "autoload" feature.
Check, repair and optimize MySQL tables with mysqlcheck
Mysqlcheck is a command line table maintenance program for MySQL. It checks, repairs, optimizes, or analyzes MySQL tables. Very handy for _automated performance optimizations_ of MySQL databases and tables. In this post I'll show you how to use `mysqlcheck` to optimize all MySQL tables using a cronjob.
Optimize WP StatPress plugin database performance
The WordPress StatPress plugin (no longer available in the Plugin Directory) is still widely used and still is very slow. Here are some MySQL statements you can use to optimize its performance, as a WordPress optimization tip...
Validate MIME types with PHP Fileinfo
How to check the file type in PHP and secure file uploads: it is important to validate MIME types in PHP. Especially of files uploaded through an upload form to your website.
Set or remove the read-only attribute assigned to files with PHP chmod
Chmod.php, change file attributes with PHP to make files read only or normally accessible on Windows IIS servers. Sometimes you need chmod to make files read only on your website, or make them normally accessible in case they already are read only. For instance Drupal's settings.php configuration file, or WordPress Contact Form 7 temporary captcha files, are examples of read-only files.
How to compare MD5 and SHA1 hashes in MySQL
Learn how to do MD5 and SHA1 hash comparisons in MySQL
WordPress plugin "In Over Your Archives" Call-time pass-by-reference fix for PHP 5.4
Here is how to fix PHP "Call-time pass-by-reference has been removed in ..." errors in PHP and WordPress.
Optimize all MySQL tables with PHP/MySQLi multi_query
The PHP MySQLi extension supports multiple queries, which are concatenated by a semicolon, with `mysqli->multi_query`. We use this to optimize all MySQL tables, in a single multi-query statement. Neat! Optimizing MySQL tables is important to keep tables small and fast. This boosts MySQL, PHP and website performance and we all love that, don't we? :)
How to load google-code-prettify syntax highlighting without plugins
If you run a WordPress blog where you display (parts of) source code, syntax highlighting is a must! It prettifies the code which makes it easier to read and it distinguishes code from text. However, most syntax highlighting is made available through plugins, and we all know too many plugins bring a lot of overhead to your blog.
Configure SQLServer sessionState for Umbraco
This post explains how to prepare your Umbraco website for a high performance web garden or web farm, and load balancing environments.
Clean-up WordPress spam comments and meta data
How to delete WordPress spam comments and meta data with phpMyAdmin. A lot of WordPress spam comments and meta data will keep your WordPress database huge, and slows down your site. It's best to delete spam comments regularly, but if you're facing hundreds of thousands spam comments, here is how to delete them all in bulk.
Add (custom) headers to MailMessage class
System.Net.Mail sometimes lacks important email headers like the Message-Id. This post shows you how to add them and improve email delivery from websites.
Install Node.js, iisnode module and Ghost on Windows Server / IIS
This post describes the steps necessary to install Node.js and Ghost Publishing Platform on Windows Server IIS. Ghost is a Node.js web application, specific for just blogging. To run Node.js applications in IIS, you need iisnode as a module. Here is how to install all of this.
Target multiple ASP.NET versions with AppCmd.exe
Did you know you can target both x86 and x64 versions of ASP.NET with AppCmd.exe?
Optimize images for the web in bulk
Optimizing and lossless compressing images is one of those items that always pops up when analyzing your website with Google PageSpeed Insights. Images have to be lossless compressed to save many bytes of data and thus bandwidth. But, how do we optimize images for the web?
Forfiles: How to delete files recursively on Windows Server
The Forfiles command on Windows selects and executes a command on a file or set of files. Forfiles is ideal for batch processing through scripts, for instance on Windows Server systems. With Forfiles, you can run a command on or pass arguments to multiple files. For example, you could run the type or del command on all files in a tree with the .txt extension.
2013
Block WordPress comment spammers manually
The less spammers hit your WordPress blog, the better your blog performs, is one of my opinions. A second is, the less unnecessary plugins you use on your WordPress blog, the better. So, a little while ago I decided to remove plugins like Stop Spammer Registration Plugin and do its work myself.
How to fix Joomla HTTP 500 errors after updates
Here is how to resolve Joomla HTTP 500 errors after applying updates
Add websites and application pools to IIS with PowerShell, in a for loop
How to use Powershell to create websites and application pools in IIS
Windows Live Mail error 0x80041161 (Fix)
After not using Windows Live Mail for quite some time, it gave me an error code 0x80041161. This Windows Live Mail error can have several different reasons, like corrupt files or services that aren't started, not easing the task of identifying the cause. Read on to learn how to fix this Windows Live Mail error 0x80041161...
Create your own CDN using IIS Outbound Rules
Offloading content is important for the performance of your website, because then content is downloaded in parallel and thus faster. A faster website attracts more visitors, is more user friendly, improves CTR and Google SEO. Here is how to create a Content Delivery Network (CDN) using IIS outbound rewrite rules.
Bash: Grep through a large number of files - "Argument list too long"
/bash/grep and /bash/rm give me an error Argument list too long. Here is how to overcome this grep error.
WordPress CMS admin password reset
How to reset your WordPress password? If you've lost or forgotten your WordPress admin password, you can easily reset the password. Either use the following MySQL statement to reset your WordPress admin password, or change it through functions.php.
Fix "Could not establish trust relationship for the SSL/TLS secure channel" error
Here is how to resolve the ASP.NET exception "System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."
ASP.NET performance: what to keep in mind
A lot of information is available on this subject. In this post I'll share some valuable posts, and I continue to update this post when I find something new. Posts about ASP.NET performance I frequently pass on to customers so they can improve their ASP.NET web applications.
Don't turn off CURLOPT_SSL_VERIFYPEER and fix your PHP configuration
Do not turn off CURLOPT_SSL_VERIFYPEER in your PHP configuration, but learn how to fix your PHP config instead.
Installing Debian GNU/Linux 7.0 (Wheezy) on HP EliteBook 8570w
I was FedUp with Fedora Core 17/18 after a day, so I decided to return to my old love: Debian GNU/Linux. It's been a couple of years, but I'm happy to be back! Just run the netinst installer which will take care of the most.
Connect to SqlCe (SQL Server Compact) database from ASP
Here is how to install the Microsoft.SQLSERVER.CE.OLEDB.4.0 Provider and use classic ASP to connect to an SqlCe (SQL Server Compact) database sdf file, as a Microsoft Access database replacement.
How to send authenticated SMTP over a TLS encrypted connection, in PHP, ASP and ASP.NET?
Learn how to send email securely from your website using TLS with ASP.NET, PHP, WordPress and Classic ASP!
Grep for forensic log parsing and analysis on Windows Server IIS
How to use GnuWin32 ported tools like grep.exe and find.exe for forensic log file analysis in Windows Server.
Drop all tables, SPs, triggers, constraints and dependencies in one SQL statement
Drop all tables, SPs, triggers, constraints and dependencies in an SQL Server database in one SQL statement.
Connect to MS SQL Server with PHP 5.3+
Learn how to conditionally add Google Analytics tracking code to your WordPress Multisite
MySQL Connector/NET and Entity Framework
How to let MySQL Connector/NET and [Entity Framework](https://learn.microsoft.com/en-us/aspnet/entity-framework) play nicely. This blog post is a quicky and an oldy… Since we still receive a reasonable amount of questions about this topic at the customer service of my employer I'm posting this here, with some commonly made mistakes and points of attention.
WordPress 3.5 on IIS 8.0 is unable to save a web.config file
This website Saotn.org is hosted on Windows Server 2012 with IIS 8.0 with WordPress for a few months now, and everything is running very smooth. And I would never hit this bug because I don't need to change my permalinks structure. One of my colleagues on the other hand, just moved his website to an IIS 8.0 web server and he noticed he couldn't save his Permalinks structure in the IIS web.config file. This can be pretty annoying ;-) Quick fix attached...
Create your own PHP based Origin Pull CDN
The advantage of having your website content hosted on a Content Delivery Network (CDN) is having your content distributed and stored across the Globe. Utilizing the network of the Content Delivery Network provider. Hosting your WordPress website on a Content Delivery Network is an important WordPress optimization tip.
Cache MySQL query results with PHP WinCache
Learn how to cache and store the MySQL query result in your web server RAM memory, utilizing PHP WinCache or OPcache
Calculate MySQL database size with PHP (off the old shelf)
Use PHP to calculate the size of MySQL databases.
Convert .htaccess to web.config
This post describes some of the IIS URL Rewrite Module web.config equivalents of commonly used Apache .htaccess settings. You'll learn how to translate .htaccess content to IIS web.config, this is useful when you need to migrate your website from Apache to Windows Server IIS.
PHP with WinCache on IIS
In this article you'll learn how to install and set up PHP with the Windows Cache Extension (WinCache) on windows IIS web servers. WinCache enabled PHP gives a great PHP performance boost for your WordPress-, Drupal or Joomla website. This post will show you it's not hard to set up high performance PHP hosting on IIS.
Remove ETags HTTP response header in IIS
Removing ETag response headers is not an easy task in Windows Server IIS web servers. Here I show you how to properly remove ETag HTTP response headers with an IIS Rewrite Module Outbound rewrite rule.
2012
"The length of the URL for this request exceeds the configured maxUrlLength value"
The length of the URL for this request exceeds the configured maxUrlLength value is an IIS error telling you the length of the given URL exceeds a limit. The Windows Server IIS maximum URL length is defined by the `HttpRuntimeSection.MaxUrlLength` property. Its value is 260 characters. This may cause problems with longer than configured `maxUrlLength` URL's, and here is how to resolve this max URL length issue.
"htaccess files should not be used for security restrictions"
Acunetix' Bogdan Calin wrote an article explaining why .htaccess files should not be used to secure sensitive data
WordPress HyperDB is an advanced database class that supports replication
HyperDB is an advanced database class for WordPress that supports replication and partition of data. HyperDB is a replacement for the standard wpdb class.
Multiple IIS 6.0/7.5 Vulnerabilities
Multiple vulnerabilities found in IIS 6.0 and 7.5 web servers and reported to the Full-Disclosure mailinglist by Kingcope. I took some time to test the various vulnerablities.
How to filter web traffic with blocklists
Create your own HTTP web blocklist filter to block and filter unwanted web HTTP traffic with blocklists.
Microsoft Deployment Workbench: silent installation of various applications
Silently deploy applications through Windows Deployment Services (WDS) / Microsoft Deployment Workbench
Clean up WordPress post revisions
Every time you write or edit a WordPress post, WordPress saves the change as a post revision. As you might expect, this fills up your database with a huge amount of unneeded post revisions and information. This uses space which should be free space, the MySQL database becomes bloated. You can clean up these WordPress post revisions quite easily, you only need one (1) simple SQL statement.
"System.Web.HttpException (0x80004005): The URL-encoded form data is not valid." error after MS11-100
After applying MS11-100, an out-of-band security update for ASP.NET to mitigate an ASP.NET Denial of Service vulnerability, you may experience the errors comming from .NET web applications
2011
How to use .htaccess files on Windows Server IIS
In this post I'll show you how to install Helicon Ape in Windows Server IIS and use .htaccess files in your website. Yes, expect a lot of .htaccess examples for IIS
Start all stopped application pools in IIS 6.0
Learn how to stop and start all application pools using VBScript and ADSI in Windows Server 2003 and IIS 6.0. Query IIS' Metabase for all AppPool objects and their .State property.
WCF Service error: "This collection already contains an address with scheme http."
\"This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.\" is a Windows Communication Foundation (WCF) error message indicating you are trying to add an already existing binding. By default the web service listens to all in IIS configured host headers. A host header is the website address, for example example.com and 'www.example.com'. If this is not correctly added to the `web.config` file, the following error is thrown...
Umbraco CMS admin password reset
Did you forget your Umbraco admin password? Use the following SQL query to reset your Umbraco admin password in SQL Server Management Studio (SSMS) or MySQL
MySQL query caching using PHP/Zend_Cache
By using the Cache.php PHP class of the Zend Framework, you can relatively easy cache MySQL query results to disk. This ensures faster consecutive results and speeds up execution.
Failed Request Tracing error LOG FILE MAX SIZE TRUNCATE
Learn how to resolve Failed Request Tracing error LOG_FILE_MAX_SIZE_TRUNCATE
Check IP address blacklist status in Bash
Here is a Linux Bash shell script to check whether an IP address is listed in a DNSBL blacklist, or RBL. Using this script in Bash you can quickly test if an IP address is blacklisted.
"Forensic Log Parsing with Microsoft's LogParser"
Forensic Log Parsing with Microsoft's LogParser. Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files.
7 Snippets to use .htaccess as a Web Application Firewall
Here are 7 .htaccess snippets for you to secure your website, by using .htaccess as a kind of Web Application Firewall (WAF). You can use this information to block exploits and rogue HTTP requests on your website.
2010
IIS 6.0 Adsutil.vbs server name command line parameter
Adsutil.vbs is a versatile and useful tool to administer IIS 6.0 servers. But did you know there is a remote server command line parameter? With this you can use Adsutil.vbs remotely.
Delete undeletable files from NTFS file system
The filename, directory name, or volume label syntax is incorrect, here's how to fix it using internal NTFS commands.
2008
The "SendUsing" configuration value is invalid.
The "SendUsing" configuration value is invalid is an error message indicating an issue with IIS SMTP Service configuration. Here is how to resolve this issue.
Inexplicable COM+ error messages
The run-time environment has detected an inconsistency in its internal state.", in IIS 6.0 may be due to desktop heap exhaustion
IIS 6.0 error: The tracking (workstation) service is not running
If after an iisreset the following \"The tracking (workstation) service is not running\" error is displayed, here is how to fix that.