Showing posts with label windows 7. Show all posts
Showing posts with label windows 7. Show all posts

Resetting a network adapter with Powershell

I recently moved to a new PC and there's something wrong with the network configuration. The hardware seems OK but every few hours Windows reports that there is no Internet connection. I haven't spent much time troubleshooting but it looks like the PC loses its IP lease and does not renew it, but that's mostly just a guess at this stage.

The Windows 7 Troubleshooter reports:

The Network Diagnostics Framework has completed the diagnosis phase of operation. The following repair option was offered:

Helper Class Name: AddressAcquisition

Root Cause: "Local Area Connection" doesn't have a valid IP configuration

Root Cause Guid: {245a9d66-ae9c-4518-a5b4-655752b0a5bd}

Repair option: Investigate router or broadband modem issues
If you're connected to a hotspot or domain network, contact the network administrator. Otherwise:
    1.  Unplug or turn off the device.
    2.  After all the lights on the device are off, wait at least 10 seconds.
    3.  Turn the device on or plug it back into the power outlet.
To restart a router or modem that has a built-in battery, press and quickly release the Reset button.

RepairGuid: {9513cc1c-4a26-4cb8-bf89-0a82129bd105}

Seconds required for repair: 63

Security context required for repair: 0

Interface: Local Area Connection ({419b3c06-e283-4a99-adaa-b66439dd064d})


Running the Troubleshooter does fix the issue. It appears that this tool resets the network adapter which forces a new IP to be allocated to the interface.

I've never had this type of issue with Ethernet on Windows before, although I have experienced unstable 802.11 connections on certain laptops.

I've also updated the Intel NIC driver to see if this would help - it didn't. Others do seem to have this issue also. Most people use the workaround of assigning a static IP to the adapter - this isn't an option for me in this environment.

Anyway, I need to remote into this PC so I can't have it sitting there with a non-working network connection!

So to get around this problem, I wrote a script in Powershell which I've scheduled in Task Scheduler to run every 10 minutes. The script will check if the network connection has Internet connectivity and, if not, will reset the network adapter. So the longest I'll have to wait to get on to the PC will be 10 minutes.

Here it is:

# Set up event log source
# redirect stderr to null since there's no simple way to check if the source already exists
(new-eventlog -logname Application -Source "Reset Network Adapter"2> $null

$pingResponse = Get-WmiObject -Class Win32_PingStatus -Filter "Address='www.google.com.au'" -ComputerName . | Select-Object -Property Address,ResponseTime,StatusCode

if ($pingResponse.ResponseTime -eq $null) {
    Write-Host Network connection down. Resetting adapter.
    write-eventlog Application -source "Reset Network Adapter" -eventid 1 -message "Network connection down. Resetting adapter."

    # Assumes you have only one ethernet device in your PC. If you have more, use something like: '-and $_.Name like "*Intel*"'
    $adapter = Get-WmiObject -Class Win32_networkadapter | Where-Object { $_.AdapterType -eq "Ethernet 802.3" }
    $adapter.disable()
    $adapter.enable()
else {
    Write-Host Network connection seems OK
    write-eventlog Application -source "Reset Network Adapter" -eventid 2 -message "Network connection seems OK"
}

Hope that helps someone!

Scheduling the Task

This is quite simple but I recommend creating a new user on your system to run the task. For the above script they need to be in the Local Admin group in order to create the event log.

Add an action with:

command: powershell
and 
arguments: -file path_to\reset-adapter.ps1

An Exercise for the Reader

You can trigger a Windows scheduled task based on an event. When the network fails there are a bunch of events that are generated by applications and the System. You could pick one that reliably represents this network issue and set up your scheduled task to only run when this event is detected. This is a nicer approach that polling every 10 minutes.

Some hints for finding appropriate events in the System Log:
  • Source: Time-Service, DNS Client Events

Resources

Oracle Client Installer Fails on Windows 7 64 bit

You'll love this one! :)

Problem:
Trying to install the Oracle Client on your Windows 7 PC, it checks the Prerequisites and then vanishes.
Many web pages suggest that the installer will log it's progress to C:\Program Files\Oracle\... - this is not the case. It actually logs to %USERDIR%\AppData\Local\Temp\OraInstall..TIMESTAMP..

But in this case, the logs do not show anything is wrong!

Instead you have to look in %USERDIR%\AppData\Local\Temp\ for files with a name like hs_err_pidNNNN.log (NNNN is a number) - these are Java HotSpot exception dump files.

In this file I found errors showing an error in SHLWAPI.dll, which gave a stack trace ending in:

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.shell.Win32ShellFolder2.getLinkLocation(JJZ)J+0
j  sun.awt.shell.Win32ShellFolder2.getLinkLocation(Z)Lsun/awt/shell/ShellFolder;+20
j  sun.awt.shell.Win32ShellFolder2.isDirectory()Z+69
j  sun.awt.shell.Win32ShellFolder2.isDirectory()Z+79

This gives us a clue: the error is something to do with a link. Could that be a folder shortcut? A bit of Googling yielded that this was, in fact, the case.

So here's the solution:

Delete any folder shortcuts from your Windows Desktop. Re-run the installer.

Fixed.

I am really not a fan of Oracle OR Java. This type of thing reflects my general experience with Oracle and Sun technology.

Enough said...

.NET Framework Error: Please set registry key HKLM\Software\Microsoft\.NETFramework\InstallRoot to point to the .NET Framework install location

Recently Windows 7 on one of my laptops became unstable and I had to restore from a System Image. This worked.. sort of. After restoring I found that Microsoft Security Essentials had to be repaired, and the .NET Framework 4.0 seemed to be corrupt.

When running programs that require the .NET Framework I would get the above error: "Please set registry key HKLM\Software\Microsoft\.NETFramework\InstallRoot to point to the .NET Framework install location"

This prohibits me from running many different programs including Visual Studio 11 Beta so this had to be fixed!

The obvious first step was to uninstall .NET Framework 4.0 and reinstall. This did not help.

Next was to manually edit the registry to try and provide the data requested in the error message. This was confusing because the key was present and contained the path to the framework directory in the Windows directory. It looked OK.

Next I tried the .NET Framework Setup Verification Tool. This confirmed that the framework was not installed properly but, to be honest, I could not determine from the log file what was actually wrong.

The last resort is to do an in place install of Windows 7 - basically replace all the system files. Through my Technet subscription I have access to an ISO of Win 7 SP1 so I grabbed this [BTW, Microsoft, why can't you enable resuming on the Technet download servers?] and tried to make a bootable USB key by which to install Windows 7. If you have the Windows DVD media then this will be also be fine.

I usually use the Windows 7 USB DVD Download Tool from Microsoft Store. But guess what? This required .NET 4.0 to be properly installed!

There is another product, WinUSB Maker, which is popular but this also requires .NET4.

What to do?

Well, I found another tool which can do the trick and does not require the .NET Framework: NoviCorp WinToFlash. This can copy a Windows DVD to a USB drive and make the drive bootable. It can also format the drive if required.

The only thing is WinToFlash does not natively work with ISO files, so you will also need a Virtual DVD-ROM such as VirtualCloneDrive.

The process is simple:
1. Mount the Windows ISO with VirtualCloneDrive
2. Run the WinToFlash wizard
3. Choose the VirtualCloneDrive drive (e.g. E:) as the Windows disk, and your USB drive as the target.
4. Allow WinToFlash to format the drive if it asks.
5. That's it.

Now to reinstall Windows 7, just insert the USB key and AutoRun should start the installer. If it doesn't just open the drive in Windows Explorer and run Setup.exe. Follow the instructions until you choose Upgrade or Custom. Choose Upgrade to reinstall.

Do not choose custom unless you want to delete all your existing files and programs!


Note: you can only reinstall the same version of Windows, so you can't upgrade to Pro from Ultimate, and so on.

As for .NET,

Hope that helps. Any questions - reach out in the comments.

Update: 31-May-2012

The above  did not fix the .NET Framework corruption for me. I messed around some more but ended up having to do a fresh install of Windows 7. Then everything worked great.

Channels - one way to optimize your wireless network speed

802.11x wireless networks work by transmitting data on one of 13 channels.

If your neighbour's network is broadcasting on the same channel as yours you may experience significant performance problems.

The quickest way to make sure you're not affected by this is to use a wifi network detection/discovery tool. I used to use Netstumbler, but it doesn't work properly on Windows 7. So I found that the easiest way is through the Windows command line.

You do this on a computer connected to your wireless network.

1. Open a command line
2. Type: netsh wlan show networks mode=bssid
3. Look for your own network name and find the channel number.
4. Then make sure it is not the same as any other network in the list.

(Look at this great wifi network info site to see many other similar tools)

How to set up RSS feeds in the Windows 7 Feed Gadget

I have a bunch of web servers, for which I receive monitoring alerts by email. I discovered I can get these as RSS, so I thought, "Perfect! I'll watch these from my Windows 7 desktop. I know there's a feed widget."

Not so fast!!

When you first add the Feeds Gadget to Windows 7, it may appear as if Microsoft only wanted you to be able to view THEIR feeds in the gadget. Clicking on Options just allows you to choose All or a particular MS feed to view (as well as how many items to display.) There is no mention of how to add new feeds, so at first I gave up.

The next day I Googled it. Turns out the wonderful Paul Thurrott had my answer (btw his Podcast on Twit.tv is awesome.) The Feeds Gadget 'feeds' off the RSS subscriptions you've set up in Internet Explorer. So all you do is:

1. Open the feed address in IE
2. IE will bring up a subscription box in yellow at the top of the page.
3. Click subscribe.
4. Now go back to the Feeds gadget and right-click, then on Options.
5. You will see your feed. Choose it!

So there you go - now I can see my servers go down right from my desktop!

Tags

windows (10) microsoft (9) .net (6) google chrome (5) windows 7 (5) asp.net (4) google (4) google browser (4) development (3) javascript (3) mssql (3) rss (3) sql server (3) wordpress (3) automation (2) blogging (2) css (2) database (2) firefox (2) get all wordpress images (2) gmail (2) google docs (2) intel (2) internet explorer (2) linux (2) linux commands (2) microsoft word (2) mysql (2) netsh (2) network issue (2) proxy (2) seo tips (2) shell (2) sun (2) tfs (2) videos (2) wget (2) windows networking (2) windows vista (2) winhttp (2) .net 3.5 (1) .net 4.5 (1) .net async ctp3 (1) .net framework 4.0 (1) 404 (1) JungleDisk (1) access (1) active directory (1) addons (1) adobe acrobat (1) adobe dlm (1) adobe reader (1) adp (1) adsense (1) adtoll (1) adwords (1) amazon (1) antivirus (1) asp.net 4.0 (1) authentication (1) back links (1) backlinks (1) bacula (1) bash (1) batch files (1) blogger (1) box (1) browser exploits (1) category rss (1) cell phone (1) cell phone comparison (1) charting (1) cheap cell phones (1) cheap laptop upgrades (1) checkout (1) chrome (1) chrome.manifest (1) cloud (1) cloud hosting (1) cloud vps (1) code (1) color chart (1) colour chart (1) conditional formatting (1) config (1) configuration (1) context menu (1) copy (1) corrupt (1) credentials (1) cross-reference (1) database scripts (1) dba scripts (1) debian (1) decrypt (1) delete file windows vista (1) delete files (1) dell (1) dell laptop (1) dell studio (1) dell studio 1537 (1) dhcp (1) directory size (1) div (1) dns (1) document properties (1) dotnet (1) download (1) dreamhost (1) dreamhost coupon (1) dreamhost promo (1) dreamhost promo code (1) drive letter (1) drivers (1) duplicate content (1) editpad pro (1) encrypt (1) encryption (1) error (1) error code (1) excel (1) exception (1) external hard drive (1) facebook (1) faviconize (1) feeds (1) firefox 3 rc1 (1) firefox 3.1 (1) firefox addons (1) firefox tabs (1) firewall (1) firewall script (1) fix (1) fix .net framework (1) foreign keys (1) gmail 2.0 (1) gmail error (1) google chrome 2.0 (1) google chrome dev (1) google chrome exploit (1) google reader (1) google reader tags (1) gtdinbox (1) hard drive (1) hex color (1) hex colour (1) htaccess (1) html (1) html 5 (1) iis6 (1) installation (1) ipod touch (1) ipod touch 2g (1) ipod touch freeze (1) ipod touch magnet case (1) ipod touch magnet case problem (1) ipod touch problem (1) iterator pattern (1) itunes (1) java (1) joomla (1) jquery (1) laptop (1) laptop upgrade (1) laptops (1) latex (1) leeching (1) like button (1) link checker (1) linkbacks (1) linq (1) linqdatasource (1) lost password (1) making money online (1) map drive (1) mega cheap phones (1) microsoft excel (1) microsoft signature (1) microsoft store (1) microsoft web deploy (1) microsoft windows (1) microsoft word 2007 (1) minimize firefox tabs (1) mozy (1) ms word (1) msdeploy (1) msdtc (1) nant (1) netstumbler (1) network path not found (1) network path was not found (1) network problem (1) networking (1) new movies (1) nintendo (1) nirsoft (1) nocheckbrowser (1) number (1) odf (1) odt (1) online backups (1) open source browser (1) openoffice (1) oracle (1) oracle client (1) photoshop (1) phpmyadmin (1) podcast (1) powershell (1) pr checker (1) productivity (1) proxy server (1) proxycfg (1) putty (1) recover (1) registry (1) reinstall windows 7 (1) remote desktop (1) remove (1) repair (1) reset joomla admin password (1) rewrite (1) rsa (1) sandy bridge laptop (1) seagate momentus xt (1) seo tools (1) sequence (1) server monitoring (1) sftp (1) social networks (1) softlayer (1) soulseek (1) spreadsheet (1) spreadsheet formula (1) sql (1) sql scripts (1) sql server management studio (1) sqlclient (1) ssh (1) ssis (1) ssl (1) ssms (1) subst (1) tabmixplus (1) telstra (1) text editor (1) trust (1) unlock cell phone (1) unlock mobile phone (1) upgrade laptop hard drive (1) user management (1) vb.net (1) video download (1) virtual server (1) visual studio (1) vodafone (1) vodafone australia (1) vps (1) vps.net (1) wd external drive (1) web deploy (1) web dev (1) web development (1) web hosting (1) web security (1) webdev (1) webmail (1) webmaster tips (1) western digital (1) wifi networks (1) wii (1) win7 (1) windows 7 backup (1) windows 7 gadgets (1) windows 8 (1) windows 8 antivirus (1) windows error (1) windows live (1) windows live essentials (1) windows live toolbar (1) windows tips (1) windows web development (1) windows xp (1) winxp (1) wireless networks (1) word tips (1) wordpress 2.7 (1) wordpress plugin (1) wp super cache (1) yield (1) youtube download (1) youtube playlist download (1)