Geek Thoughts

Enterprise email in the cloud?


2011-08-21

More and more of our clients are unloading the burden of running their own Exchange server within their office and moving their email hosting to a full-service provider in the cloud. I know that many, many very large companies have been outsourcing their email hosting over the past 5 years.

The two major competitors in this market are clearly Google Apps and Hosted Exchange. (Whether or not Office 365 will make a dent in this space is yet to be seen.)

Depending on the Exchange provider, we have had very different experiences with Microsoft Exchange Hosting depending on the company – a lot of times it seems that the bigger companies are harder to work with since they have so many clients that no matter how large you are, you are just a number. I remember when one multinational company that we support had a serious DNS emergency which was preventing email to be delivered to the domain. After waiting on hold for 1 hour (it was a Friday night) one of the technicians actually told me on the phone “…look, we’re the biggest Hosted Exchange provider in the world, this is just one of our customers…” Meanwhile, smaller Exchange Hosting providers are easy to get on the phone, 24/7 and they provide better pricing along with easier access to admins.

Meanwhile Google Apps is run by Google across the board, there are no 3rd party providers so, the experience is always the same. It’s an excellent service and it’s free for businesses with less than 10 users.

So, the question on everyone’s mind is – which one do I choose: Google Apps or Microsoft Exchange?

And the answer is not simple. Every company must be evaluated and their current behaviors and needs must be taken into consideration.

For instance, one of our clients had an Exchange server that was aging quickly, they were interested in Google Apps because of their experience with Gmail and how well it filters spam. However, they were primarily using Microsoft Office and they used individual shared folders amongst their teams to store emails relating to particular clients. Interestingly, there is no direct equivalent of shared folders in either Google Apps or in the newer versions of Microsoft Exchange… In the end, we recommended Hosted Exchange with Sharepoint since it would fully integrate with their current Outlook.

With the introduction of Office 365 this year and the increase in people choosing Google Apps, even more companies are going to be looking into SAAS hosted email solutions.

One thing that I’ve told my clients for a long time is that if they want to have less email problems, they should use OWA or web mail. It eliminates the mail client from the equation, that’s why it’s always the fallback when Outlook, Entourage, or Apple Mail aren’t communicating correctly with the server or have database corruptions…

Google Apps can be fully run within your web browser, there is no need for extra programs such as Microsoft Office – in addition, there is only one pricing structure = $5/user/month. On the other hand, I’ve read that Office 365 has several pricing structures and that it’s capabilities are limited if you do not have Office installed on your computer.

These are just some of the positives and negatives of Microsoft Exchange VS Google APps.

Given all of the considerations involved in such an important decision, it’s important to discuss the choice of putting your enterprise email in the cloud with people who are familiar with the limitations of the different cloud-email solutions as well as the experience with different providers of the services.

Which one are you using or thinking about? Feel free to comment and let me know.


 
 
 


 
 
 

Example Samba configuration for mixed Windows 7/XP, OS X, and Linux


2011-08-20

** Updated for Samba 3.4.0 on 8/21/2011 – by default Samba now uses tdbsam as a default. This new version of an smb.conf example also allows for passwd (system passwords) to update Samba users’ passwords (aka sync). Additionally, we added a share directory for the default apache root for sharing certain files over http.

Samba

“Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients.”  What does all that mean?

Samba is the name of a free program that allows you to share files between almost any type of computer on a network. It’s the rosetta stone of file-sharing. You can share data from a Mac to a PC, PC to a Mac, or from a Linux computer to a PC/Mac combo.

The thing with free software is that it’s not always easy to configure… Also, there’s a lot of information on the Internet – no, too much information about how to configure it a million ways that may or may not work for you. Also, people are always being jerks about RTFM on the forums. I hate that… Obviously, the reason people go to a forum is that they don’t want to RTFM. They just want some guidance!

If you need help setting up a Samba server, please give us a ring and one of our IT support guys will help you out remotely at a low hourly rate.

That being said, here’s the stuff you probably came here looking for… Some free advice on setting up your smb.conf file the way that you actually need it to work.

SMB Permissions forced for directory and file creation for Mac and PC

The good news is that, after many hours of testing… I’ve created an smb.conf file that works for forcing permissions of 770 (dir2) or 775 (dir1) for all files and directories created over smb connections.

This configuration has been tested on Ubuntu 8.04, 8.10, 9.10 and several versions of Samba server including 3.4.0 and 3.0.28a

Example smb.conf

 

[global]
netbios name = server
server string = server
workgroup = Workgroup
security = user
hosts allow = 127. 192.168.2.
interfaces = 127.0.0.1/8 192.168.2.0/24
bind interfaces only = yes
remote announce = 192.168.2.255
remote browse sync = 192.168.2.255
log file = /var/log/samba/samba.log
max log size = 1000
log level = 10
null passwords = no
username level = 6
password level = 20
encrypt passwords = true
unix password sync = yes
wide links = no
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
domain master = no
preferred master = no
domain logons = no
os level = 33
logon drive = m:
logon home = \\%L\homes\%u
logon path = \\%L\profiles\%u
logon script = %G.bat
time server = no
name resolve order = wins lmhosts bcast
wins support = no
wins proxy = no
dns proxy = no
preserve case = yes
short preserve case = yes
client use spnego = no
client signing = no
client schannel = no
server signing = no
server schannel = no
nt pipe support = yes
nt status support = yes
allow trusted domains = no
obey pam restrictions = yes
enable spoolss = yes
client plaintext auth = no
disable netbios = no
follow symlinks = no
update encrypted = yes
passwd chat timeout = 120

# settings and debugging for passwd sync to tdbsam
passwd chat debug = yes
pam password change = yes
passdb backend = tdbsam
hostname lookups = no
username map = /etc/samba/smbusers
passwd program = /usr/bin/passwd '%u'
passwd chat = *New*password* %n\n *ReType*new*password* %n\n *passwd*changed*\n
add user script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null '%u'
add user to group script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null -g '%g' '%u'
add group script = /usr/sbin/groupadd '%g'
delete user script = /usr/sbin/userdel '%u'
delete user from group script = /usr/sbin/userdel '%u' '%g'
delete group script = /usr/sbin/groupdel '%g'
add machine script = /usr/sbin/useradd -d /dev/null -g sambamachines -c 'Samba Machine Account' -s /dev/null -M '%u'
machine password timeout = 120
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /dev/null
winbind use default domain = yes
winbind separator = @
winbind cache time = 360
winbind trusted domains only = yes
winbind nested groups = no
winbind nss info = no
winbind refresh tickets = no
winbind offline logon = no

[dir1]
path = /pathto/dir1
comment = dir1 Files
valid users = user1 user2
write list = user1 user2
directory mask = 0775
create mode = 0775
read only = no
available = yes
browseable = yes
writable = no
guest ok = no
public = no
printable = no
locking = no

[dir2]
path = /pathto/dir2
comment = dir2
valid users = user1 user2 user3 user4
write list = user1 user2 user3 user4
create mask = 770
force create mode = 770
security mask = 770
force security mode = 644
directory mask = 770
force directory mode = 770
directory security mask = 770
force directory security mode = 770
read only = no
available = yes
browseable = yes
writable = no
guest ok = no
public = no
printable = no
locking = no

[apache2]
path=/var/www
comment = httpd root
validusers = user1
read only = no
writable = yes
locking = no
directory mask = 0775



 
 
 


 
 
 

Proftpd.conf running 2 virtual servers on different ports


2011-06-19

This took a lot of testing to create a configuration that would work for having 2 FTP virtual servers running with Proftpd on 2 different ports. On this particular server, we are currently running Proftpd Version: 1.3.3c. I was unable to find a good example online, so I’m putting mine up.

In this example, I have created two directory trees – one for internal use and one for a guest. Both directories live on a RAID5 storage device.

The two virtual servers run on IP 0.0.0.0 and use the hostname:IP for connections. In this case it is internal.domain.com – where the domain is the name of the company that users the server. (As a side note, this server runs on a dynamic IP address with dyndns updated by ddclient.)

The limitation on logging into the “internal ftp” is that you must be a member of the group ‘users’ – so, you will need to make sure that your guest user accounts do not belong to the users group.

You can check this by typing:

id NAME_OF_GUEST_USER

Here are the contents of my proftpd.conf – to personalize this on your server, you will need to change the fields under each Virtual Server below – ServerName, ServerAdmin, DefaultRoot, MasqueradeAddress

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
# 

ServerType      standalone
DefaultServer       off
MaxInstances       30
Port        0

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log
AllowRetrieveRestart on

UseReverseDNS off

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>

<IfModule mod_facts.c>
    FactsAdvertise off
</IfModule>

<IfModule mod_cap.c>
    CapabilitiesEngine on
    CapabilitiesSet +CAP_CHOWN +CAP_FOWNER
</IfModule>

<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

<Global>
PassivePorts 49152 65534
# PassivePorts 60000 65534
</Global>

#-----------------------#
#  VIRTUAL HOSTS                #
#-----------------------#

<VirtualHost 0.0.0.0>
# IDC Guest Server
ServerName                      "GUEST FTP"
ServerAdmin                     ben@rentageekla.com
Umask                           002
Port                            21
DefaultRoot                     /PATH_TO_GUEST_FTP_DIR
AllowOverwrite                  yes
MasqueradeAddress    internal.domain.com

        <Anonymous /PATH_TO_GUEST_FTP_DIR>
                UserOwner       ftpguest
                GroupOwner      users
                <Limit LOGIN>
                        AllowAll
                </Limit>
                AnonRequirePassword             on
        </Anonymous>
</VirtualHost>

<VirtualHost 0.0.0.0>
# Employee Data Server
ServerName                      "INTERNAL FTP"
ServerAdmin                     ben@rentageekla.com
Umask                           002
Port                            2121
DefaultRoot                     /PATH_TO_FTP_DIR
AllowOverwrite                  yes
MasqueradeAddress    internal.domain.com

        <Anonymous /PATH_TO_FTP_DIR>
                GroupOwner      users
                <Limit LOGIN>
      AllowGroup users
                </Limit>
                AnonRequirePassword             on
        </Anonymous>
</VirtualHost>


 
 
 


 
 
 

Seagate Momentus XT 500 GB (ST95005620AS) – Speed Tests


2011-04-02

I decided to get one of these “SSD-like performance” drives to try to speed up my Macbook Pro instead of investing in a really expensive solid state drive with very limited storage capacity.

My decision was based solely on marketing and reviews that I had read online where people were perceiving faster speeds. This is straight from Seagate’s page on the product:

Higher productivity – less wait time
Up to 50% faster boot-up speed*
Twice the overall performance*

It turns out that these results are compared to a 5400rpm drive… So, I installed it and did some speed testing using a simple disk read/write speed tester. The disk that I was replacing was a Seagate Momentus 7200.4 ST9500420AS 500GB. Now for some results:


 
 
 


 
 
 

.zshrc


2010-12-11

This line is very important if you want to use your delete key as backspace in zsh shell.

bindkey ‘^?’ backward-delete-char


 
 
 


 
 
 

How to Mount an ISO that contains Multiple Partitions


2010-10-27

If you are not already familiar with dd and dd_rescue – they are great tools that you can use to make a block by block identical clone of your drive. You can output either command to an ISO/IMG or to another drive. See my post about imaging drives for more info – dd and dd_rescue commands are at the bottom.

After you have created an image of an entire hard drive, here is how you can mount the partitions contained within the image.

First login as root or ‘sudo su’ and then do an fdisk -u -l ./disk_image

[root@ubuntu ~]# fdisk -u -l /mnt/storage/disk_image.img
You must set cylinders.
You can do this from the extra functions menu.

Disk ./disk_image.img: 0 MB, 0 bytes
240 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x3141c18f

 Device Boot      Start         End      Blocks   Id  System
./disk_image.img1           15120   312575759   156280320    f  W95 Ext'd (LBA)
Partition 1 has different physical/logical endings:
phys=(1023, 239, 63) logical=(20672, 239, 63)
./disk_image.img5           15183    80831519    40408168+   7  HPFS/NTFS
./disk_image.img6        80831583   229370399    74269408+   7  HPFS/NTFS
./disk_image.img7       229370463   312575759    41602648+   7  HPFS/NTFS

Then take the start of the partition that you want to mount and multiply it by 512.

In this example if we wanted to mount ./disk_image.img7 the partition starts at sector 229370463 – so we multiply it by 512:

512 * 229370463 = 117437677056

Create a new folder to use as a mount point for the image:

[root@ubuntu ~]# mkdir /mnt/image_mount_directory

You can mount the partition from the image file like this:

[root@ubuntu ~]# mount -o loop,offset=117437677056 -t auto /mnt/storage/disk_image.img /mnt/image_mount_directory

Or, you can copy the contents of the partition to a single file like this (fill in skip with the starting block of your parition – 229370463 – and for count fill in the length of the partition - 41602648:

[root@ubuntu ~]# dd if=/mnt/storage/disk_image.img of=/media/partition3-file skip=229370463 count=41602648


 
 
 


 
 
 

How to clone or backup your HDD for free


2010-10-24

Backups are all the craze these days. And for good reason: data recovery can cost into $1000′s because of the highly specialized knowledge and tools that are required. Many backup solutions are useful to use to backup your images, documents, and other irreplaceable data.

However, what if you want to backup your programs and your operating system?

If your hard drive crashes, it will result in a big “to-do” of having to get someone to replace your drive, reinstall your operating system and then you will be responsible for purchasing or acquiring illegal versions of the software that you previously had…

We restore systems all the time and it’s not cheap. Repairing a computer with a crashed hard drive will often cost $150 – $350 depending on the size and cost of the replacement drive.

That being said, there are several ways for you to create an exact replica of your hard drive on another drive or in a format that can be easily copied to a new drive.

Many people may have heard about Norton Ghost – this software is excellent, but it costs $$. However, long before Norton unix and linux systems had the capability of cloning drives and devices. Here is my recommended list of free alternatives to Norton Ghost…

Open-Source Drive Imaging (aka Cloning) Software for Windows

“Image creation uses Microsoft’s Volume Shadow Services (VSS), allowing you to create safe “hot images” even from drives currently in use. Images are stored in XML files, allowing you to process them with 3rd party tools. Never again be stuck with a useless backup! Restore images to drives without having to reboot. DriveImage XML is now faster than ever, offering two different compression levels. DriveImage XML runs under Windows XP, Windows Server 2003, Vista and Windows 7 only. The program will backup, image and restore drives formatted with FAT 12, 16, 32 and NTFS.”

“Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the clone efficiency.”

Absolutely free! No strings! The only free XP, Vista and Windows 7 compatible disk imaging software with BartPE and Linux based recovery options.”

Open-Source Drive Imaging (aka Cloning) Software for OS X

Hard Drive Clone for Mac (intel-based Macbook, Macbook Pro, Mac Pro, iMac, Mac Air).

“Spinning for years at 75MPH, your hard drive’s catastrophic crash could really hinder your productivity. Use CCC to make a bootable backup of your digital life today!”

How to clone/backup a drive with from a Linux command line (Live CD):

Or if you’re feeling really geeky and you want an image that is completely accurate. Do it like the pros:

The quintessential Linux command line block by block clone: dd and/or dd_rescue (displays statistics)

Download any Linux live CD (we recommend Ubuntu).

Then open a package manager and install dd and/or dd_rescue.

From the command line you can type:
apt-get install dd OR apt-get install ddrescue

dd if=&lt;SOURCE&gt; of=DESTINATION

or

dd_rescue &lt;SOURCE&gt; &lt;DESTINATION&gt;

The source can be an entire drive and the destination can be an entire drive:

dd if=/dev/sda of=/dev/sdb

dd_rescue /dev/sda /dev/sdb

Or you can clone to an img file on a connected external drive:

dd_rescue /dev/hda1 /mnt/externaldrive/clone.img

dd if=/dev/sda1 /mnt/externaldrive/clone.img


 
 
 


 
 
 

Easy Way to Speed Up Internet


2010-10-21

If your internet is slow and you want it to make it find pages and load images faster. Then, you’ve come to the right place. I promise that this will not be painful.

The easiest way to speed up your internet is to decrease the amount of time that it takes your computer to turn a name like “google.com” into an IP address that actually corresponds to a server somewhere with text, images, and scripts that will show up on your computer.

First, go download this application from Google Code called namebench – it’s a free utility that you can run once from your location and find the fastest DNS server. Download it and run the application by installing it and then clicking “Start.” – While it runs (it takes about 5 minutes) read the rest of this article.

DNS cure for slow internet

DNS stands for domain name resolution – and it’s like the phonebook of the Internet. It’s where computers can look up the phone numbers (IP addresses) of other computers. This is REALLY important because every time your computer gets images, text, emails, video from the web it has to look up the number of the computer that has that information (a web server, for instance). Now, the physical distance of your location from any given DNS server is a huge variable that will effect the speeds of your communication with that server and therefore, the rest of the Internet.

90% of the time, the default DNS server for your computer is going to be the address of your router – something like 192.168.1.1 or 192.168.0.1 or 10.0.1.1 or 192.168.1.254 – in any of these cases, your router is forwarding the DNS to somewhere else and then relaying the info back to you. This can lead to incredibly slow internet speeds.

To circumvent this, you can manually assign the DNS server for your computer. Mac or PC – Windows or Linux – it doesn’t matter. Every system can benefit from having a faster DNS server setup.

When your namebench test is done, it will give you results like this:

DNS server comparison

In the test from my location in Los Angeles – the fastest server was 4.2.2.1 and the second fastest was 208.67.220.220.

The reason that 4.2.2.1 is the fastest DNS server is that the 4.2.2.1 servers use anycast addressing – this forwards dynamically to your most geographically close Level-3 network DNS server. (Level-3 Communications is one of the largest owners of cable across the country and Europe.)

Is your namebench DNS speed test done yet?

When your DNS speed test is done, you can now change the DNS settings on your computer’s network connection to use the fastest DNS server available in your area in order to speed up your internet connections.

To change your DNS servers on Windows XP:

  • Go to Control Panel>Network Connections and select your appropriate connection if wired – “Local Area Connection” or on wireless “Wireless Network Connection.”
  • Click Properties, then select Internet Protocol (TCP/IP).
  • Click Properties. You will see a new window pop-up, it is the Internet Protocol window. Select “Use the following DNS server addresses” and enter the numbers of the DNS server(s) that namebench recommended in the space(s) provided.

To change your DNS servers on Windows 7:

  • Open Network Connections by clicking the Start button Picture of the Start button, clickingControl Panel, clicking Network and Internet, clicking Network and Sharing Center, and then clicking Manage network connections.
  • Right-click the connection that you want to change, and then clickProperties. Administrator permission required If you are prompted for an administrator password or confirmation, type the password or provide confirmation.
  • Click the Networking tab. Under This connection uses the following items, click either Internet Protocol Version 4 (TCP/IPv4), and then click Properties.To specify DNS server address settings, do one of the following: To obtain a DNS server address automatically, click Obtain DNS server address automatically, and then click OK.
  • To specify a DNS server address, click Use the following DNS server addresses, and then, in the Preferred DNS server and Alternate DNS server boxes, type the addresses of the primary and secondary DNS servers from your namebench results.

To change your DNS server in OS X:

Go to System Preferences
Click on Network
Select the first connection in your list and click Advanced
Select the DNS tab and add the primary and secondary servers from namebench to the list of DNS servers. Click OK.

To change your DNS server in Linux:

  • Open file /etc/resolve.conf
  • You should see something like this:-

    search localhost.localdomain

    Add your Primary and Secondary Domain Name Servers’ IPs  at the end of the file and it should look like this:

    search localhost.localdomain
    nameserver 4.2.2.1
    nameserver 4.2.2.2


 
 
 


 
 
 

Microsoft Keyboard Quickness


2010-10-20

MICROSOFT SHORT CUTS and HOT KEYS… HOPE YOU ENJOY applying these tips! They help make us Geeks Uber quick.

******************************************************************************************************





Windows system key combinations

  • F1: Help
  • CTRL+ESC: Open Start menu
  • ALT+TAB: Switch between open programs
  • ALT+F4: Quit program
  • SHIFT+DELETE: Delete item permanently
  • Windows Logo+L: Lock the computer (without using CTRL+ALT+DELETE)





Windows program key combinations


  • CTRL+C: Copy
  • CTRL+X: Cut
  • CTRL+V: Paste
  • CTRL+Z: Undo
  • CTRL+B: Bold
  • CTRL+U: Underline
  • CTRL+I: Italic





Mouse click/keyboard modifier combinations for shell objects


  • SHIFT+right click: Displays a shortcut menu containing alternative commands
  • SHIFT+double click: Runs the alternate default command (the second item on the menu)
  • ALT+double click: Displays properties
  • SHIFT+DELETE: Deletes an item immediately without placing it in the Recycle Bin





General keyboard-only commands


  • F1: Starts Windows Help
  • F10: Activates menu bar options
  • SHIFT+F10 Opens a shortcut menu for the selected item (this is the same as right-clicking an object
  • CTRL+ESC: Opens the Start menu (use the ARROW keys to select an item)
  • CTRL+ESC or ESC: Selects the Start button (press TAB to select the taskbar, or press


    SHIFT+F10 for a context menu)
  • CTRL+SHIFT+ESC: Opens Windows Task Manager
  • ALT+DOWN ARROW: Opens a drop-down list box
  • ALT+TAB: Switch to another running program (hold down the ALT key and then press the TAB key to view the task-switching window)
  • SHIFT: Press and hold down the SHIFT key while you insert a CD-ROM to bypass the automatic-run feature

  • ALT+SPACE: Displays the main window’s System menu (from the System menu, you can restore, move, resize, minimize, maximize, or close the window)

  • ALT+- (ALT+hyphen): Displays the Multiple Document Interface (MDI) child window’sSystem menu (from the MDI child window’s System menu, you can restore, move, resize, minimize, maximize, or close the child window)
  • CTRL+TAB: Switch to the next child window of a Multiple Document Interface (MDI) program
  • ALT+underlined letter in menu: Opens the menu
  • ALT+F4: Closes the current window
  • CTRL+F4: Closes the current Multiple Document Interface (MDI) window
  • ALT+F6: Switch between multiple windows in the same program (for example, when the Notepad Find dialog box is displayed, ALT+F6 switches between the Find dialog box and the main Notepad window)





Shell objects and general folder/Windows Explorer shortcuts

For a selected object:


  • F2: Rename object
  • F3: Find all files
  • CTRL+X: Cut
  • CTRL+C: Copy
  • CTRL+V: Paste
  • SHIFT+DELETE: Delete selection immediately, without moving the item to the Recycle Bin
  • ALT+ENTER: Open the properties for the selected object


To copy a file

Press and hold down the CTRL key while you drag the file to another folder.

To create a shortcut

Press and hold down CTRL+SHIFT while you drag a file to the desktop or a folder.





General folder/shortcut control

  • F4: Selects the Go To A Different Folder box and moves down the entries in the box (if the toolbar is active in Windows Explorer)
  • F5: Refreshes the current window.
  • F6: Moves among panes in Windows Explorer
  • CTRL+G: Opens the Go To Folder tool (in Windows 95 Windows Explorer only)
  • CTRL+Z: Undo the last command
  • CTRL+A: Select all the items in the current window
  • BACKSPACE: Switch to the parent folder
  • SHIFT+click+Close button: For folders, close the current folder plus all parent folders





Windows Explorer tree control


  • Numeric Keypad *: Expands everything under the current selection
  • Numeric Keypad +: Expands the current selection
  • Numeric Keypad -: Collapses the current selection.
  • RIGHT ARROW: Expands the current selection if it is not expanded, otherwise goes to the first child
  • LEFT ARROW: Collapses the current selection if it is expanded, otherwise goes to the parent





Properties control

  • CTRL+TAB/CTRL+SHIFT+TAB: Move through the property tabs





Accessibility shortcuts

  • Press SHIFT five times: Toggles StickyKeys on and off
  • Press down and hold the right SHIFT key for eight seconds: Toggles FilterKeys on and off
  • Press down and hold the NUM LOCK key for five seconds: Toggles ToggleKeys on and off
  • Left ALT+left SHIFT+NUM LOCK: Toggles MouseKeys on and off
  • Left ALT+left SHIFT+PRINT SCREEN: Toggles high contrast on and off





Microsoft Natural Keyboard keys

  • Windows Logo: Start menu
  • Windows Logo+R: Run dialog box
  • Windows Logo+M: Minimize all
  • SHIFT+Windows Logo+M: Undo minimize all
  • Windows Logo+F1: Help
  • Windows Logo+E: Windows Explorer
  • Windows Logo+F: Find files or folders
  • Windows Logo+D: Minimizes all open windows and displays the desktop
  • CTRL+Windows Logo+F: Find computer
  • CTRL+Windows Logo+TAB: Moves focus from Start, to the Quick Launch toolbar, to the system tray (use RIGHT ARROW or LEFT ARROW to move focus to items on the Quick Launch toolbar and the system tray)
  • Windows Logo+TAB: Cycle through taskbar buttons
  • Windows Logo+Break: System Properties dialog box
  • Application key: Displays a shortcut menu for the selected item





Microsoft Natural Keyboard with IntelliType software installed


  • Windows Logo+L: Log off Windows
  • Windows Logo+P: Starts Print Manager
  • Windows Logo+C: Opens Control Panel
  • Windows Logo+V: Starts Clipboard
  • Windows Logo+K: Opens Keyboard Properties dialog box
  • Windows Logo+I: Opens Mouse Properties dialog box
  • Windows Logo+A: Starts Accessibility Options (if installed)
  • Windows Logo+SPACEBAR: Displays the list of Microsoft IntelliType shortcut keys
  • Windows Logo+S: Toggles CAPS LOCK on and off





Dialog box keyboard commands


  • TAB: Move to the next control in the dialog box
  • SHIFT+TAB: Move to the previous control in the dialog box
  • SPACEBAR: If the current control is a button, this clicks the button. If the current control is a check box, this toggles the check box. If the current control is an option, this selects the option.
  • ENTER: Equivalent to clicking the selected button (the button with the outline)
  • ESC: Equivalent to clicking the Cancel button
  • ALT+underlined letter in dialog box item: Move to the corresponding item


******************************************************************************************************
Thank you Microsoft for sharing this with us!


 
 
 


 
 
 

Hello world!


2010-10-19

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!