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

 

Flash Drive with Multiple Versions of Windows

How to Create a Master Installation Flash Drive with Multiple Versions of Windows

wmi_top

You’ve got your collection of Windows ISOs and maybe you’ve burned installation DVDs or flash drives for them. But why not make yourself a master installation drive that you can use to install any version of Windows?

Setting up a bootable USB Drive that includes multiple ISOs is actually pretty easy, We’re going to do it using a clever little free tool named WinSetupFromUSB, so go ahead and download the latest version of that. You can even include some non-windows ISOs on the disk, like Linux distributions and antivirus rescue disks. For a complete list of what you can include on your USB drive, check out their supported sources page. There is one important note from that page worth calling out. The tool works with single Windows ISOs from Microsoft. If you have a dual ISO that includes both the 32-bit and 64-bit versions of Windows, you won’t be able to use it. But you can always download single ISOs (one for 32-bit and one for 64-bit) and stick them both on the USB if you need to.

Next, make sure you have blank USB drive big enough to hold all the ISOs you want to install, along with a little extra space. A 16 GB drive should give you enough space for two or three versions of Windows. If you have a 32 GB drive, you should be able to fit all the versions of Windows you could want. If you want to include other ISOs as well, you might need a bigger drive.

WinSetupFromUSB is a portable tool, so there’s no installation. Once you have it downloaded, double-click the archive to extract the files a new folder. If you’re running a 64-bit version of Windows, run the executable with “x64” in the name. If you’re running a 32-bit version of Windows, run the file without the “x64” in the name.

wmi_1

If you already had your USB drive inserted when you launched the tool, it should be listed in the box at the top of the window. If you didn’t have it inserted already, go ahead and plug it in now and then click Refresh.

wmi_2

Next, click the “Advanced Options” check box.

wmi_3

Instead of working like a regular check box, clicking it opens an “Advanced Options” dialog box. In the Advanced Options dialog, select the “Custom menu names for Vista/7/8/10/Server Source” check box. This setting allows you to provide your own names for the folders in which the Windows ISOs are stored and the boot menu names you see when you start a computer using the USB drive. You can close the “Advanced options” dialog when you’re done.

wmi_4

Now comes the somewhat tricky part. You’ll be adding Windows versions one at a time. The first time you add something to the USB drive (and only the first time), you’ll want to make sure that the “Auto format it with FBinst” check box is selected. This lets WinSetupFromUSB format the drive appropriately for booting. If you know you’ll be booting a computer in UEFI mode (or if you’re unsure), then select the “FAT32” option. Otherwise, you can use the “NTFS” option.

wmi_5

Next, select your first Windows ISO. Select the check box next to the “Windows Vista / 7 / 8 / 10 /Server 2008/2012 based ISO” section and then click the browse button (“…”) to its right. Locate and open the ISO you want to add.

wmi_6

If it’s a large ISO and you’re using the FAT32 file system, you may get a notification that the file is too large and will be split in two. That’s fine, so go ahead and click OK.

wmi_7

Double-check that you have the correct USB drive selected at the top of the window and that the right ISO is shown in the box. Then, click “GO.”

wmi_8

If you’re using a large USB drive, you may get a warning asking if you’re sure that’s the drive you want to use. Go ahead and click “Yes.”

wmi_9

If the auto format option is enabled (and it should be for the first ISO you add to a disk), you’ll also get a warning letting you know that the drive will be formatted and anything on it will be erased. Click “Yes” to continue.

wmi_10

WinSetupFromUSB will now format the drive and then pop up a window where you can enter a custom folder name for the ISO that’s between 1 and 7 characters. If you don’t type anything for 30 seconds, the default will be used automatically.

wmi_11

A similar window will now open that lets you type a custom name that should appear in the boot menu. This time, the name can be between 5 and 35 characters, so you have a bit more room to be specific. And again, you have 30 seconds to type a new name before the default is used automatically.

wmi_12

At this point, WinSetupFromUSB will begin creating folders, adding the ISO to your USB drive, and adding the options to the boot menu. This can take several minutes and you can gauge the progress in the window’s status bar.

wmi_13

When WinSetupFromUSB is done, you’ll get a simple “Job done” confirmation window. Click “OK.”

wmi_14

WinSetupFromUSB now returns you to the main window. You can exit the program or you can continue adding additional ISOs to your boot disk. You’ll add additional ISOs using the same process, but there are a couple of things to keep in mind as you do it:

  • When you add additional ISOs to an existing boot disk, make sure the “Auto format it with FBinst” check box is not selected. It won’t be by default when you return to the window (or when you start the program again), but it doesn’t hurt to make sure. You only want to format the disk with the very first ISO you add.
  • You’ll need to click “Advanced Options” and enable the “Custom menu names for Vista/7/8/10/Server Source” check box each time you add a new ISO. Make sure you don’t forget this step before clicking Go or you won’t be able to add a custom name for the ISO to your menu.

But that’s it. Otherwise, just follow the same steps each time you want to add a new ISO to the boot disk. You don’t have to add them all in one session either. You can come back any time and add something new. When you’re done, you can boot up a computer using your USB drive (which you may be able to do even if your BIOS won’t let you) and be rewarded with a nice boot menu like this:

wmi_15

While it doesn’t sport the most intuitive interface, WinSetupFromUSB is lightweight and works well. And once you get the hang of adding ISOs to the package, it’s a breeze to set yourself up with a powerful boot disk that will let you install whatever version of Windows you want, as well as a number of other bootable tools.

DPI Settings on RDP Sessions

Do you have a computer with High-DPI screen? A very high resolution display? And is everything too small to see within your Remote Desktop Connection, try this solution…

This issue is caused by lack of not being DPI scaling aware of the Remote Desktop Client. If you open a Remote Desktop connection to a server or other computer the native resolution of the computer is used instead of the scaling to 1920×1080, so you’ll get very small icons etc.

1.

First tell Windows to look for a manifest file for an application by default. This can be done by setting a registry entry.

Open regedit and navigate to the registry key:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
Right-click, select NEW -> DWORD (32 bit) Value
Type PreferExternalManifest and then press ENTER.
Right-click PreferExternalManifest, and then click Modify.
Enter Value Data 1 and select Decimal.
Click OK. Exit Registry Editor.

2.

Next step is to make a manifest file, , you can download it here.  Important is that you save the file in the same directory as the Remote Desktop Client executable (mstsc.exe).
%SystemRoot%\System32\”

3.

Now try and connect with Remote Desktop again.