Debloat Windows 10

Of late, Windows has become incredibly bloated with useless apps and services. These apps take up crucial RAM, processing power and disk space. It significantly slows down the system and you are left with a laggy mess. The sad part is that you can’t even uninstall these apps through the Control Panel. So to find a way around it, we are using Administrator privilege and Execution Policy to remove such apps and services. Here are the steps to do it which will finally speed up Windows 10 significantly.

Note: We are using an automated PowerShell script to debloat Windows 10. It’s developed by a developer named Sycnex on GitHub. Also, make sure you are using Windows on your Administrator account.

1. First up, download the Windows 10 Debloater ZIP file from the GitHub page. Click on “Clone or download” and then click on “Download ZIP”.

Debloat Windows 10

2. Extract the ZIP file and open it. You will find three major files, but right-click on “Windows10DebloaterGUI” and select “Run with Powershell”.

Debloat Windows 10 2

3. On the first run, it will ask if you want to grant Execution Policy permission to the script. Type “Y” and hit enter to allow the PowerShell script to run.

4. Now Windows 10 Debloater window will open. Here, click on “Remove all bloatware”. It will start removing such apps and services.

Debloat Windows 10 3

5. The process will take some time to complete so keep patience. Also, you will be prompted with many dialogues during the process to re-confirm your action. So keep a check on your PC during the process.

6. After the debloating process is complete, simply restart your PC. Now Windows 10 will become completely bloat-free without unnecessary apps. You will notice a remarkable boost in your computer’s performance and it will speed up Windows 10 fairly well.

Veeam Retention Policies

Removal of Restore Points

To keep up with the retention policy, Veeam Backup & Replication deletes the whole backup file from the backup chain, not data for separate VMs from the backup file. In some situations a certain VM may have fewer restore points than it is specified in retention policy settings. This can happen if a backup job processes a number of VMs or VM containers, and some VMs or VM containers fail to be processed during some job sessions.

Removal of Restore Points from Forward Incremental Chains

In case of a forward incremental backup chain, Veeam Backup & Replication does not remove a restore point immediately. Instead, Veeam Backup & Replication waits for a new full backup (synthetic or active) to be created and a new backup chain to be started. As soon as the last incremental restore point in the “old” backup chain is marked as redundant, Veeam Backup & Replication removes the whole “old” backup chain from the backup repository. For more information, see Retention for Incremental Backup.

For example, a backup job processes 2 VMs: VM 1 and VM 2. According to the retention policy settings, the backup chain must contain 3 restore points. The backup job has already had 5 job sessions and VMs have been processed in the following way:

  • VM 1 has been successfully backed up 3 times and has 3 restore points
  • VM 2 has failed to be processed in 2 job sessions and has 1 valid restore point

When Veeam Backup & Replication adds a new restore point to the backup chain, it will not remove the earliest restore point. Veeam Backup & Replication will wait until a new full backup file and 2 incremental backup files are added to the backup chain. After that, it will remove the whole outdated backup chain from the backup repository. Restore points in the new backup chain, at the same time, may contain data for both VMs or for one VM only: Veeam Backup & Replication regards backup files as restore points, not separate VMs in these files.

Removal of Restore Points

Removal of Restore Points from Reverse Incremental Chains

In case of a reverse incremental backup chain, Veeam Backup & Replication immediately deletes a redundant restore point when the allowed number of restore points is exceeded. For more information, see Retention for Reverse Incremental Backup.

For example, a backup job processes two VMs: VM 1 and VM 2. According to the retention policy settings, the backup chain must contain 5 restore points. The backup job has already had 5 job sessions and VMs have been processed in the following way:

  • VM 1 has been successfully backed up 5 times and has 5 valid restore points
  • VM 2 has failed to be processed in 2 job sessions and has 3 valid restore points
Removal of Restore Points

After that, Veeam Backup & Replication runs a new backup job session in which VM 1 and VM 2 are successfully processed. When a new restore point is added to the chain, Veeam Backup & Replication removes the earliest restore point because the number of restore points in the backup chain has exceeded 5. As a result, you will have 5 restore points for VM 1 and 3 restore points for VM 2.

Removal of Restore Points

Subnet Cheat Sheet


AddressesHostsNetmaskAmount of a Class C
/3042255.255.255.2521/64
/2986255.255.255.2481/32
/281614255.255.255.2401/16
/273230255.255.255.2241/8
/266462255.255.255.1921/4
/25128126255.255.255.1281/2
/24256254255.255.255.01
/23512510255.255.254.02
/2210241022255.255.252.04
/2120482046255.255.248.08
/2040964094255.255.240.016
/1981928190255.255.224.032
/181638416382255.255.192.064
/173276832766255.255.128.0128
/166553665534255.255.0.0256

Outlook Data File Performance

Outlook Data File Performance

If you have a large .pst or .ost file, you may experience application pauses while you perform typical operations in Outlook. These typical operations include reading email messages, moving email messages, and deleting email messages.

The following list summarizes expected behavior based on the size of your Outlook data file.

  • Up to 5 GB: This file size should provide a good user experience on most hardware.
  • Between 5 and 10 GB: This file size is typically hardware dependent. Therefore, if you have a fast hard disk and lots of RAM, your experience will be better. However, slower hard disk drives, such as drives that are typically found on portable computers or early-generation solid-state drives (SSDs), experience some application pauses when the drives respond.
  • More than 10 GB: When the .ost file reaches this size, short pauses begin to occur on most hardware.
  • Very large (25 GB or larger): An .ost file of this size increases the frequency of short pauses, especially while you are downloading new email messages. However, you can use Send/Receive groups to manually sync your mail. For more information about Send/Receive groups, see the “Are you synchronizing many RSS feeds?” section.

Using WMIC in Windows

Using WMIC in Windows:

  • List all installed Programs

Open Command Prompt as Administrator

Type

wmic product get name, version, vendor

and press Enter.

After a few moments, a list will be displayed in the command prompt detailing the programs installed on the target computer.

  • If you want to save the results in a .html file

Type

wmic /output:%USERPROFILE%\DESKTOP\InstalledSoftware.htm product get Name, Version /format:htable

and press Enter.

  • If you want to uninstall a program from the list

Echo Y|WMIC Product Where “Name='<INSERT PRODUCT NAME HERE>'” Call Uninstall

 

HP Procurve Loop-Protection

Loop detection – without STP

According to the documentation:

Loop protection provides protection against loops by transmitting loop protocol packets out of ports on which loop protection has been enabled. When the switch sends out a loop protocol packet and then receives the same packet on a port that has a receiver-action of send-disable configured, it shuts down the port from which the packet was sent.

So it’s not doing anything fancy – just using its own protocol packet to detect loops back to the switch itself. Note this is different to Cisco’s loopback detection, which will detect a switchport looped back on itself – e.g. due to faulty wiring – but will not detect a cable run from one port to another on the same switch. Configuration is quick and easy, and it seems to work well. It should work well in any situation where you have edge ports that users might connect together, possibly via a ‘dumb’ switch that doesn’t forward STP BPDUs. These loop protection frames should be forwarded.

Let’s take a quick look at the configuration and operation on my lab switch, an HP 2910al-24G Procurve switch, running W.15.08.0012. The default configuration is for loop-protection to be disabled:

sw01pi# show loop-protect 

 Status and Counters - Loop Protection Information

 Transmit Interval (sec)     : 5           
 Port Disable Timer (sec)    : Disabled          
 Loop Detected Trap          : Disabled     


       Loop    Loop     Loop   Time Since  Rx           Port   
  Port Protect Detected Count  Last Loop   Action       Status  
  ---- ------- -------- ------ ----------- ------------ --------
sw01pi#

In my lab, I’ve run a cable between ports 21 and 22, so we can simulate a loop. Currently both ports are shut down. Spanning-tree is disabled on this switch, so if I enable those ports, we’ve got a loop, and things will get messy. Let’s configure loop protection, and then enable the ports:

sw01pi# conf t
sw01pi(config)# loop-protect 
 disable-timer         Specify the number of seconds to wait before re-enabling
                       a disabled port.The default is 0, which will prevent 
                       automatically re-enabling the port
 [ethernet] PORT-LIST  Specify the ports that are to be added to/removed from 
                       loop protection.
 transmit-interval     Set time between packet transmissions.
 trap                  Specify loop protection traps that are to be 
                       enabled/disabled.
sw01pi(config)# loop-protect 21-22
sw01pi(config)# loop-protect trap loop-detected 
sw01pi(config)# interface 21-22
sw01pi(eth-21-22)# enable

OK, let’s take a look at what’s happened with our ports:

     
sw01pi# show loop-protect 

 Status and Counters - Loop Protection Information

 Transmit Interval (sec)     : 5           
 Port Disable Timer (sec)    : Disabled    
 Loop Detected Trap          : Enabled     

       Loop    Loop     Loop   Time Since  Rx           Port   
  Port Protect Detected Count  Last Loop   Action       Status  
  ---- ------- -------- ------ ----------- ------------ --------
  21   Yes     No       0                  send-disable Down    
  22   Yes     Yes      1      2s          send-disable Down    
sw01pi#show log -r
---output truncated---
I 05/18/13 17:13:31 00077 ports: port 21 is now off-line
I 05/18/13 17:13:31 00077 ports: port 22 is now off-line
I 05/18/13 17:13:30 00898 ports: Loop Protect(62) has disabled port 22
I 05/18/13 17:13:30 00884 loop-protect: port 22 disabled - loop detected.
I 05/18/13 17:13:30 00076 ports: port 22 is now on-line
I 05/18/13 17:13:30 00076 ports: port 21 is now on-line

Pretty simple hey? One of the ports has been shut down, as expected. It has been logged, and an SNMP trap (OID: 1.3.6.1.4.1.11.2.14.11.5.1.12.1.5.6.1) has been generated. We’ve got the “Port Disable Timer” at the default of “Disabled” – this means that the port will stay shut down until we take manual action. We’d like it to re-enable after 10s, so we configure this:

sw01pi(config)# loop-protect disable-timer 10

Now if we keep an eye on the output of show loop-protect we can see the Loop Count incrementing, as the port gets re-enabled, detects a loop, and shuts down again:

sw01pi# show loop-protect 

 Status and Counters - Loop Protection Information

 Transmit Interval (sec)     : 5           
 Port Disable Timer (sec)    : 10          
 Loop Detected Trap          : Enabled     

       Loop    Loop     Loop   Time Since  Rx           Port   
  Port Protect Detected Count  Last Loop   Action       Status  
  ---- ------- -------- ------ ----------- ------------ --------
  21   Yes     Yes      0                  send-disable Down    
  22   Yes     No       5       6s         send-disable Down    
sw01pi#

So now you can set a disable timer, and once users remove the loop, their network ports will come back up, without needing any input from the local network admin. All up, this is an easy feature to configure, and should be used on all edge ports on Procurve switches.

Set a Room Mailbox to Show Details of a Meeting in its Calendar – Office 365

  1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
  2. Next, run the following to authenticate your self and import PowerShell commands to your local session:

Set the Room calendar to show ‘limited details’ by default

We will do this using the Set-MailboxFolderPermission command. Click the link to see the full list of parameters you can pass in to the command. We will be using ‘limited details’ for the AccessRights variable.

Set the Room calendar to show the ‘Organiser’ and ‘Subject’ of the meeting

We will do this using the Set-CalendarProcessing command. Click the link to see the full list of parameters you can pass in to the command.

Installing Ubiquiti UniFi Controller 5 on Raspberry Pi

Installing Ubiquiti UniFi Controller 5 on Raspberry Pi
UniFi

The next step is to install the UniFi Controller software.

Add the UniFi repository to the sources list, using the following commands:

echo 'deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti' | sudo tee -a /etc/apt/sources.list.d/ubnt.list > /dev/null
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
sudo apt-get update

Install UniFi, using the following package install command:

sudo apt-get install unifi -y

*The installation takes a couple of minutes to complete, but is fully automated and includes all the prerequisite components such as MongoDB and OpenJDK Java 7.

Disable the default MongoDB database instance, using the following commands:

echo 'ENABLE_MONGODB=no' | sudo tee -a /etc/mongodb.conf > /dev/null

Without making this small configuration change, you will have two separate instances of MongoDB running; an unused default database instance, and the UniFi database instance. This is obviously not desirable on a device with limited resources, such as the Raspberry Pi.

Update to the latest release of the Snappy Java Library, using the following commands:

cd /usr/lib/unifi/lib
sudo rm snappy-java-1.0.5.jar
sudo wget http://central.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.3-M1/snappy-java-1.1.3-M1.jar
sudo ln -s snappy-java-1.1.3-M1.jar snappy-java-1.0.5.jar

*This fixes a number of issues particularly with the older models of Raspberry Pi, but also brings the library well up-to-date as the version Ubiquiti includes with the UniFi package is from 2013.

Once completed, reboot your Raspberry Pi using the following command:
sudo reboot

When the reboot is complete, use a web browser to view HTTPS port 8443 on your Raspberry Pi:

https://(hostname.local/ip):8443

Updating

Before updating the UniFi Controller software, it is highly recommended that you first backup the controller configuration.

To update the UniFi Controller software to the latest version, simply use the standard Debian package update and upgrade commands:

sudo apt-get update && sudo apt-get upgrade -y

The UniFi Controller software will be updated along with all other packages installed on your Raspberry Pi.

Alternatively, if you just want to update the UniFi Controller software only, run the initial package installation command again:

sudo apt-get install unifi -y