The last few months, I've noticed brand new clean Windows 7 installs have a hard time updating for the first time. Doesn't matter if they are updating from the original Microsoft update service of from a WSUS server, the time until the first update sometimes can be hours.
Linux and unix have had this nifty little feature called symlinks (symbolic links) for decades. Windows has finally caught up with the new command mklink.
Windows Vista introduced the new command mklink, which was expanded in Windows 7.
Syntax
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
Examples
Link d:\myfile.txt (the file) to c:\something.txt (the link):
mklink c:\something.txt d:\myfile.txt
mklink c:\something.txt d:\myfile.txt
Make some crappy old program save its data to your fileserver directly by linking \\fileserver\data (target) to c:\program files\crappy-old-program\data (the directory).
After switching my network to a more strict proxy server recently, I found that Windows 7 machines were reporting they weren't connected to the internet anymore. While this is partly true, unauthenticated users can no longer just access http, users don't need to get this message.
The probing software is called Microsoft NCSI. What it does, is:
perform a DNS lookup on www.msftncsi.com, and request http://www.msftncsi.com/ncsi.txt. This file is a plain-text file that contains only the text Microsoft NCSI.
then do a DNS lookup request for dns.msftncsi.com. The answer should be an A-record resolving to 131.107.255.255. If no answer, or a wrong answer is given, NCSI assumes the internet connection is faulty.
I whitelisted www.msftncsi.com in my proxy to allow outbound http-connections from unauthenticated users to this domain.
A colleague of mine has some family issues that require him to be home more often. However, work continues. So he started working at home with a laptop. Nothing special about that. What is special, is that we're running a piece of software ("RR") that has old-style telnet-like terminals, which is sending it's print jobs straight to the printer.
His laptop has a direct VPN connection to the company network, but his printer doesn't.
Network info
The old software ("RR") is running on a pretty new RHEL 5.6 installation. It uses CUPS to queue and deliver print jobs. In my situation, the RR printer has zero printers configured, there's another Linux server that has all printers configured and broadcasts those printers over the network. But you could leave that print server out.
Problem
RR cannot reach the printer directly. But it can reach the laptop, which is running Windows 7 Professional. I searched for an IPP server that I could install on Windows, so that the printserver could use that to relay messages to the local printer, but I couldn't find any.
Solution
Windows 7 still has the option to install an lpd server. It's not installed by default, but it's very simple to install.
Windows setup:
In the Windows 7 Control Panel
Go to the "Programs and Features"
Click "Turn Windows Features on or off"
Turn on the LPD protocol.
Now go to the "printers" and share all printers you want to share.
Don't use long names and names with spaces, like "HP Laserjet 4200 Series", which are hard to setup on the client. Use something short like hplj4200.
Client setup: Now you can setup the client to print to lpd://[ip-or-hostname-of-client]/[printername], for example lpd://10.10.10.17/hplj4200
If you can't get it to work, please check printer permissions and the firewall of the Windows 7 machine, which must have port 515 open.