How to Manage and Delete Wireless Network Profiles in Windows 8.1

My tablet kept having trouble connecting to different wireless networks that used the same SSID. The fix was managing the saved Wi-Fi profiles directly. Here’s how to view, change, and delete wireless network profiles in Windows 8.1 and Windows RT 8.1.

Change a Wireless Profile in PC Settings

  1. Swipe in from the right edge of the screen (or point to the upper-right corner with a mouse), tap Settings, then Change PC settings.
  2. Go to Network → Connections and choose the connection you want to change.
  3. Make your changes on the page that appears.

Manage Wi-Fi Profiles with netsh

Some tasks, like deleting a profile, have to be done from the Command Prompt. Search for “Command Prompt” from the Start screen, open it, and use these commands:

Show all wireless profiles on the PC:

netsh wlan show profiles

Delete a profile:

netsh wlan delete profile name="ProfileName"

Show a saved Wi-Fi password (security key):

netsh wlan show profile name="ProfileName" key=clear

Stop automatically connecting to a network that’s out of range:

netsh wlan set profileparameter name="ProfileName" connectionmode=manual

To move a network up the priority list, connect to it and choose Connect automatically; it goes to the top. To stop auto-connecting to a network that’s in range, select it in the network list and click Disconnect.

How Windows Chooses Which Network to Use

Windows usually prefers connections in this order: Ethernet, then Wi-Fi, then mobile broadband. Each new Wi-Fi network you join is added to the list, and if you connect to a second Wi-Fi network while the first is in range, Windows will prefer the second one from then on.

Mobile broadband is treated differently because it’s usually metered. If you manually connect to mobile broadband while Wi-Fi is in range, it’s preferred only for that session. To make your PC prefer mobile broadband over a Wi-Fi network, select that Wi-Fi network and click Disconnect, and Windows won’t connect to it automatically.

How to Re-register a Windows Client or Server in WSUS

When a Windows client or server stops reporting to WSUS (Windows Server Update Services), you can usually force it to re-register with a few commands. Run them on the affected machine from an elevated Command Prompt.

Steps to Re-register with WSUS

1. Refresh Group Policy so the machine picks up the WSUS server settings:

gpupdate /force

2. Trigger update detection:

wuauclt /detectnow

3. If it still doesn’t appear, reset the authorization cookie and detect again:

wuauclt.exe /resetauthorization /detectnow

Tip: Check Event Viewer on the client to confirm the re-registration went through.

How to Join a Linux Server to Active Directory with Samba Winbind

Joining a CentOS or Red Hat server to Active Directory lets domain users log in with their AD credentials. This step-by-step guide uses Samba Winbind and authconfig, restricts shell access to admins, creates home folders on first login, and grants sudo to Domain Admins.

1. Install Samba, Winbind, and nscd

yum install nscd samba samba-common samba-client samba-winbind
yum upgrade

Add your domain controller to /etc/hosts:

192.168.1.30 dc.domain.com pdc01

2. Join the Domain with authconfig-tui

  1. Run authconfig-tui.
  2. Under Authentication Configuration, check Cache Information, Use Winbind, Use MD5 Passwords, Use Shadow Passwords, and Use Winbind Authentication.
  3. Under Winbind Settings, choose ads. Enter the short domain name (for example.com, enter just example), the FQDN of your domain controllers, the FQDN of the primary DC as the ADS realm, and /bin/bash as the shell.
  4. Click Join Domain, enter domain administrator credentials, and confirm the server joined successfully.

3. Restrict Shell Access with a Bash Wrapper

Create /usr/local/bin/bash-wrapper so only local wheel members and Domain Admins get a shell:

#!/bin/sh

# This script restricts shell access to privileged users. The "template shell"
# option in the '/etc/samba/smb.conf' file should be set to call this wrapper.

# Get group memberships for this user.
BFN_ID=$(/usr/bin/id)

# Grant shell access to users that are in the local wheel group.
if /bin/echo "$BFN_ID" | /bin/grep -P '[=,][0-9]{1,8}\(wheel\)' > /dev/null
then
exec /bin/bash --login "$@"
fi

# Grant shell access to users that are in the domain administrators group.
if /bin/echo "$BFN_ID" | /bin/grep -P '[=,][0-9]{1,8}\(domain admins\)' > /dev/null
then
exec /bin/bash --login "$@"
fi

# Else print a notice and just exit.
echo "Shell access to this computer is disabled."

# eof

4. Finish the Configuration (Phase 2 Script)

Create /usr/local/bin/ad-phase2.sh. Edit the LDAP base line to match the OU of the users you want to allow before running it.

# ad-phase2.sh - Phase 2
# Description: This script automates the process of joining a linux box
# to an AD domain. The process is divided in two parts.
#
# Please edit the relevant parts of the script below prior running it

# This block doesn't need to be edited
#sed -i 's%protocols: files%protocols: files winbind%g' /etc/nsswitch.conf
#sed -i 's%rpc: files%rpc: files winbind%g' /etc/nsswitch.conf
#sed -i 's%netgroup: files%netgroup: files winbind%g' /etc/nsswitch.conf
#sed -i 's%automount: files%automount: files winbind%g' /etc/nsswitch.conf

# The following line allows users to logon without the EXAMPLE\user syntax
sed -i 's%winbind use default domain = false%winbind use default domain = true%g' /etc/samba/smb.conf

# More parameters to make life easier with UID and GID correspondences
sed -i 's% template shell = /bin/bash% template shell = /usr/local/bin/bash-wrapper%g' /etc/samba/smb.conf
sed -i '/ winbind offline logon = false/a winbind enum users = true' /etc/samba/smb.conf
sed -i '/winbind enum users = true/a winbind enum groups = true' /etc/samba/smb.conf
sed -i '/winbind enum groups = true/a winbind cache time = 5' /etc/samba/smb.conf
sed -i '/winbind cache time = 5/a winbind nested groups = true' /etc/samba/smb.conf

# Create home folders in /home/DOMAIN/username on first login
echo "session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022" >> /etc/pam.d/system-auth

# Allow all users in the Domain Admins group to sudo on the server
echo "%domain admins ALL=(ALL) ALL" >> /etc/sudoers

# Replace "base OU=Users,DC=example,DC=com" with the container of the users you want to allow on the box
sed -i 's%base dc=*******,dc=com%base OU=Users,DC=*******************,DC=com%g' /etc/openldap/ldap.conf

Make both scripts executable, run the phase 2 script, and restart the services:

chmod +x /usr/local/bin/ad-phase2.sh
chmod +x /usr/local/bin/bash-wrapper
/usr/local/bin/ad-phase2.sh
service winbind restart
service nscd restart

Reboot for good measure, then test logging in with a domain account.

How to Install and Set Up ntop on CentOS (with NetFlow)

ntop is a network traffic monitoring tool that shows who is using your bandwidth and how. This guide walks through building ntop from source on CentOS, along with its RRDtool and GeoIP dependencies, opening the firewall, starting it at boot, and turning on the NetFlow collector.

1. Install Build Dependencies and RRDtool

yum install gcc gcc-c++ make libpcap libpcap-devel gdbm-devel libpng-devel libtool libtool-libs rrdtool rrdtool-devel
yum install cairo-devel libxml2-devel pango-devel pango libpng-devel -y
yum install freetype freetype-devel libart_lgpl-devel wget gcc make -y
yum install perl-ExtUtils-MakeMaker -y
yum install graphviz -y
yum install subversion openssl-devel -y
cd /opt
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
tar -zxvf rrdtool-1.4.5.tar.gz
cd rrdtool-1.4.5
./configure --prefix=/usr/local/rrdtool
make && make install

2. Build GeoIP

yum install libpcap libpcap-devel gdbm gdbm-devel -y
yum install libevent libevent-devel -y
cd /opt
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz
tar -zxvf GeoIP-1.4.8.tar.gz
cd GeoIP-1.4.8
./configure
make && make install

3. Build and Install ntop

Download either ntop 5.0.1 (stable) or 4.1.0 (prior stable). The example below uses 4.1.0.

yum install libtool automake autoconf -y
cd /opt
wget http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-5.0.1.tar.gz
# or
wget http://downloads.sourceforge.net/project/ntop/ntop/Prior%20Stable/ntop-4.1.0.tar.gz
tar zxvf ntop-4.1.0.tar.gz
cd ntop-4.1.0
./autogen.sh -prefix=/usr/local/ntop
make && make install
make install-selinux-policy

Add /usr/local/ntop/share/man to /etc/man.config, then create the ntop service user and set ownership:

useradd -M -s /sbin/nologin -r ntop
chown ntop:root /usr/local/ntop
chown ntop:ntop /usr/local/ntop/share/ntop

Set the admin password on first run:

cd /usr/local/ntop/bin/
./ntop -u ntop -P /usr/local/ntop -A

4. Open the Firewall (iptables)

The web interface runs on TCP port 3000, and NetFlow traffic arrives on UDP port 9996. Edit /etc/sysconfig/iptables and add these rules before the final INPUT REJECT line:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 9996 -j ACCEPT
service iptables restart

5. Start ntop and Run It at Boot

/usr/local/ntop/bin/ntop -P /usr/local/ntop -u ntop -d -w 3000 -i eth0

Test it by browsing to http://your-server:3000. To start ntop on boot, add the same command to /etc/rc.local.

6. Configure NetFlow and Web Options

The first time you open the ntop web interface:

  1. Go to Plugins → NetFlow → Activate. Don’t click “Yes” afterward, as that toggles it off again.
  2. Go to Plugins → NetFlow → View/Configure.
  3. Create a collector named eth#-collector, where # is the interface receiving the data.
  4. Edit the collector: local collector UDP port 9996, flow aggregation none, session handling no, assume FTP no, debug off.
  5. Go to Admin → Configure → Preferences and set dot.path to /usr/bin/dot.
  6. Get a Google Maps API key (browser-referrer key) from the Google API console and set google_maps.key in the same Preferences screen.
  7. Stop ntop with killall ntop, reboot the server, and confirm ntop starts on boot.