Generate a List of Startup Programs via Command Line or PowerShell

You probably already knew this, but if you want to see a list of all of the startup programs that run when Windows starts, you can simply go to the MSCONFIG tool and click on the Startup tab! Here you can enable or disable startup programs easily. You can read my previous article that explains how to use MSCONFIG in detail.

It’s worth noting that in Windows 8 and Windows 10, the Startup tab has been removed from MSCONFIG and is now included in the Task Manager. You can get to the Task Manager by simply right-clicking on the Start button in Windows 8 or Windows 10 and choosing Task Manager from the list.

task manager windows 10

Knowing which programs run at startup can be very useful for debugging all sorts of performance issues related to your PC. One recommendation I always give is to make a list of all of the startup programs enabled while your computer is running normally. That way, if your computer is running slow later on, you can always go back to MSCONFIG and uncheck anything that wasn’t originally listed.

msconfig windows 7

Also, there are times when technical support may request a list of startup programs in order to diagnose an issue with your computer. Generating a list and emailing them could save you a lot of time and prevent someone from having to connect remotely to your computer, which I never prefer since I don’t trust anyone else having access to my computer.

In addition to the task manager looking a bit nicer and cleaner in Windows 8 and Windows 10, it also forgoes the checkboxes and gives you a column called Startup Impact to help you gauge how that startup item affects the boot time.

windows 10 boot time

You can actually generate a list of all the startup programs in Windows using the command prompt or PowerShell and save the list as a text file or an HTML document. Follow the steps below.

Command Prompt

Step 1: Open the command prompt by going to Start, Run and typing in CMD. If you are unfamiliar with the command prompt, feel free to read my command prompt beginner’s guide first.

command prompt

Step 2: Now type in the following WMI (Windows Management Instrumentation) command at the prompt and press Enter.

wmic startup get caption,command

You should now see a list of all the applications along with their paths that run at Windows startup.

cmd startup programs

If you want more information, you can also just type wmic startup and you’ll get a few extra fields like Location, UserSID and User.

Step 3: If you want to export the list out as a text file, type in the following command:

wmic startup get caption,command > c:StartupApps.txt

And if you want to create an HTML file, just type this instead:

wmic startup get caption,command > c:StartupApps.htm

PowerShell

If you prefer to use the more modern and powerful PowerShell, the command below will give you pretty much the same results as the WMI command above.

Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List 

powershell startup programs

If you want to send the output of a PowerShell command to a text file, you can simply append the following part to the above command after Format-List.

| Out-File c:scriptstest.txt

Make sure to include the pipe symbol | that is at the very front. I actually prefer the output of PowerShell because the formatting is much easier to view in a text editor.

That’s about it. You should now have a list of startup programs that you can save and reference later. If you have any questions, feel free to post a comment. Enjoy!

The post Generate a List of Startup Programs via Command Line or PowerShell appeared first on Online Tech Tips.

How to Speed Up Logging Into Windows

Even with fast hardware and the newest operating system, logging into Windows can become painfully slow if there are a lot of programs that startup when Windows starts up. Note that I am not talking about how long it takes to boot Windows because that is a completely different beast.

I’ve already written previously on speeding up Windows boot times, speeding up Windows 7 and speeding up Windows 8. Just reading those articles will help you speed up Windows guaranteed. One common theme you’ll see in those articles is managing startup items.

As mentioned before, your Windows 8 or Windows 10 machine might be able to boot up in 10 seconds, but once you type in your password to login, it could take more than a minute to get to a fully functional desktop because of startup programs. I’ve already written a detailed article on how to disable startup programs in Windows 7 and higher, which you should read first.

However, there are situations where you simply can’t disable everything. Maybe you working in a corporate environment and are required to have certain programs startup when you login. If you’re a business owner or professional, you might have certain business applications that you want to start up when you login.

In this type of case, you need something different. One interesting solution to this problem is to delay the loading of the startup programs by the few minutes after you login. In this article, I’m going to talk about a program called Startup Delayer, which does exactly that.

Startup Delayer

Once you download and install the program, it will show you a dialog the first time you run the program. Here you have to choose how you want Startup Delayer to behave.

startup delayer behavior

Note that you can change whatever settings you picked here later on in the program settings. The dialog has a slider where the far left means you want your programs to load as fast as possible and you don’t mind your computer running slow or sluggish. There really isn’t any point to using this application if you choose the far left because all the programs loading immediately is what’s happening by default when you log into Windows.

As you move the slider to the right, you’ll see it’s pretty much the same except for the CPU and Disk Idle values. By default, its set to 30%, which means the program will wait till your computer is at least 30% idle before launching the delayed applications you have chosen.

Moving to the far right means your delayed applications will start later, but smoother. You might have to wait a minute or so before the application will launch. Startup Delayer manages all of this and will automatically launch the applications when the desired idle value is reached.

Once you click Save, you’ll get to the main program interface. Here you will see 3 tabs across the top: Startup Applications, Running Tasks and System Services. As the name of the first tab implies, any startup applications that start with Windows will be listed here.

startup delayer gui

The startup items are broken down into three different categories: Delayed, Normal Startup and Disabled. You can simply drag and drop the items to the section you like. To delay an application, just drag it from Normal Startup to Delayed like shown below.

delayed startup items

The first item you drag and drop will be given the first priority when loading. As you add more items, they will be added to the queue. When Startup Delayer loads the programs, it will launch then in the order listed. You can change the order of the items by dragging and dropping the items.

When you select an item, you will see that Automatic Delay is selected and the default values for CPU and DISK idle are listed. You can change the idle values for each application individually if you like also by simply selecting the item and typing in new values.

If you double-click on any of the delayed applications, you can configure the advanced settings. The General tab lets you edit the target in case you want to add any command line parameters to the program.

launch details

On the Delay tab, you can again edit the idle values or choose to do a Manual Delay if you like, but the program developers don’t recommend using manual delays.

delayed program wait

On the Wait tab, you can check a box to ensure that the application has completed loaded before Startup Delayer continues loading other applications. You can also set it so that Startup Delayer will wait until the current program is terminated or a user gives confirmation before launching the next application.

delayed program advanced

On the Advanced tab, you can configure options so that the program launches on certain days only, doesn’t launch if another instance is already running, or launches if an Internet connection is detected. This option can be useful in certain situations. For example, do you really need Skype to launch if there is no Internet connection?

Finally, going back to the main screen, you can click on the green Add New button to add a program that is not already listed. This can be really useful for things like launching a web browser or a MS Office application or any other program that may not automatically startup when logging into Windows.

The Running Tasks lists out all of the current processes running on the system. Again, if something is not listed in the main tab, you can go to Running Tasks, select a process and then click the small round plus button. I would be very careful about adding anything from here to the delayed section because many of the processes listed are Windows processes.

Luckily, they have a filter that lets you hide all the Microsoft processes so that you see only processes created by third-party programs. Just click on the Filter button and then click Hide all created by Microsoft.

hide microsoft processes

The last tab is System Services, which lets you stop, start and disable Windows services, but for the purposes of this article, you should just leave it alone unless you know what you are doing.

Before we get into whether this program actually works well or not, there are a couple of other small items to mention. Firstly, you can click on the Options button at the top right of the main interface to change how the program behaves. I personally haven’t had to mess around with any settings here, but if you want more information during the login process, you can click on the Launch Process tab and select Show always during Startup and check the Show Launch Process Window on Startup.

launch options

By default, the program keeps itself very well hidden and only pops up during the login process if something goes wrong. Otherwise, you won’t even know anything is going on. What’s nice about the program is that it has a plethora of options so you can see more info if you like.

Secondly, you can click on the Tools button to do even more stuff like create startup profiles, view the last launch log, view the last performance graph, create a backup of all your settings, etc.

startup delayer tools

Performance Results

So does this program really work? Well, when I tried it out back in 2008, it didn’t work all that well. Back then, it simply did a manual delay, which didn’t work very well. However, in the ensuing years, the program has gotten a lot more advanced and in my tests on Windows 7, it made a significant difference in the user experience.

Instead of sitting around waiting for the desktop to become clickable or waiting for the Start menu to appear after clicking on it 10 times, Startup Delayer can make everything seem snappy. You obviously have to wait a bit longer for some programs to load up, but I have never once felt I needed one of those startup programs to load immediately after logging in.

It’s also worth noting that the program becomes more useful if you have a larger number of startup items. If you only have a couple of things loading up on startup, it’s probably not going to make a major difference. Let us know if the program helped on your system or not. Enjoy!

The post How to Speed Up Logging Into Windows appeared first on Online Tech Tips.

Change or Spoof a MAC Address in Windows or OS X

Every NIC (Network Interface Card) has a unique MAC address (Media Access Control). This applies to all types of network cards, including Ethernet cards and WiFi cards. The MAC Address is a six-byte number or 12-digit hexadecimal number that is used to uniquely identify a host on a network.

An example of a MAC address is 1F-2E-3D-4C-5B-6A and it falls into the Layer 2 networking protocol of the OSI model. In today’s networks, ARP, or Address Resolution Protocol converts a MAC address to a Layer 3 protocol address, such as an IP address. A MAC address can also be called a Physical Address. Read my post on how to find your MAC address if you don’t know it.

mac address

All MAC addresses are hard-coded into a network card and can never be changed. However, you can change or spoof the MAC address in the operating system itself using a few simple tricks.

So why would you want to change your MAC address? Well there are many reasons for this, mostly related to bypassing some kind of MAC address filter set on a modem, router or firewall. Changing the MAC Address can help you bypass certain network restrictions by emulating an unrestricted MAC Address or by spoofing a MAC address that is already authorized.

For example, a WiFi network may allow only authorized computers to connect to the network and filters out computers based on the MAC address. If you can sniff out a legitimate MAC address, you can then spoof your MAC address and gain access to the WiFi network.

Another example is if you have an ISP that allows only a certain number of computers to connect to the Internet from your home. If you have more computers that need to connect, you can spoof the MAC address of an authorized computer and connect from a different computer.

Change Windows MAC Address

You can change the MAC address for the network card in Windows pretty easily following the steps below.

Step 1: Click on Start, then Control Panel, then Network Connections, and right-click on the network connection you want to change the MAC address for and select Properties. It will normally either be Local Area Connection or Wireless Network Connection.

local area connection

If you are using Windows Vista, Windows 7 or higher, you have to go to Control Panel, then Network and Internet, then Network and Sharing Center, and then click on Manage Network Connections or Change adapter settings.

change adpater settings

Then you can right-click on the adapter and choose Properties.

Step 2: On the General or Networking tab, click the Configure button.

configure network adapter

Step 3: Now click on the Advanced tab and click on the Locally Administered Address property or the Network Address property.

locally administered address

By default, the Not Present value is selected. Go ahead and click on the Value radio button and enter in a new MAC address. The MAC address is a combination of 6 pairs of numbers and characters, i.e. 40-A2-D9-82-9F-F2. You should enter the MAC address without the dashes.

mac address change

You can go to the command prompt and type in IPCONFIG /ALL to check that the MAC address has been changed. Go ahead and restart the computer in order for the changes to take effect.

This is the simplest way to change your MAC address in Windows. You can also do so via the registry, but it’s much more technical and probably not required by most people.

Change OS X MAC Address

Changing the MAC address on OS X is definitely not as easy as it is on Windows. Firstly, you have to use Terminal (similar to command prompt in Windows) to actually change the MAC address.

Secondly, you need to manually figure out the technical name of the adapter before you can change the settings. I’ll explain everything below step by step, but it gets a bit complicated at times.

To start, let’s find out the current MAC address for your Mac. You can do this in one of two ways: via System Preferences or via Terminal. Open System Preferences, click on Network and then click on the Advanced button. Make sure to select the appropriate interface first (WiFi, Ethernet, etc) in the listbox on the left.

os x network advanced

Click on the Hardware tab and you will see the first line is MAC Address. I thought you could simply choose Manually from the Configure dropdown, but that doesn’t allow you to edit the MAC address.

network hardware mac

In Terminal, you can get the MAC address by typing in the following command:

ifconfig en0 | grep ether

This will give you the MAC address for the en0 interface. Depending on how many interfaces you have on your computer, you might need to run this command several times adding 1 to the number each time. For example, I ran the following commands below until I reached an interface that didn’t exist.

terminal os x ifconfig

Now you can simply compare the MAC addresses listed here with the one you saw via System Preferences. In my case, my WiFi MAC address of f8:1e:df:d8:9d:8a matches with en1, so that is the interface I have to use for the next commands.

Before we change the MAC address, you can use a useful command in Terminal to generate a random MAC address if you need one.

openssl rand -hex 6 | sed ‘s/(..)/1:/g; s/.$//’

Now that you have a new MAC address, you can change the current one using the following command below. Replace XX with the actual MAC address you want to use.

sudo ifconfig en0 ether xx:xx:xx:xx:xx:xx

In order to do this, you need to be logged in as an Administrator or you have to enable the root account in OS X. By default, root is disabled and it’s better to leave it disabled if you can. Just login as an admin and you should be able to run the command just fine. It will ask you for your password, though, before changing the MAC address.

Also, the address won’t change if you are still connected to a WiFi network. You need to first disconnect from any networks and then run the command. Surprisingly, disconnecting from a wireless network in OS X is not intuitive at all. You have to press and hold the Option key and then click on the WiFi icon to see the disconnect option.

disconnect from wifi os x

So here is a rundown of all the commands I ran in order to get the current MAC address, generate a random one, update the MAC address and then verify to make sure it had actually changed.

mac address change os x

As I mentioned earlier, this is definitely not as straightforward as the process is on Windows, but you should be able to do it if you simply copy and paste the commands above. If you have any questions, feel free to post a comment. Enjoy!

The post Change or Spoof a MAC Address in Windows or OS X appeared first on Online Tech Tips.

How to Turn On Auto-Complete in the Command Prompt

Do you use the command prompt on a daily basis? If so, I recently found a way to turn on auto-complete for the command prompt via a simple registry edit. When typing in long path names, simply type in the first few letters and then press TAB to autocomplete either folder or file names.

For example, if I am typing in C:Documents and Settings, I would just need to type in C:Doc and then press the TAB key.

enable auto complete command prompt

dos prompt auto complete

As you can see, there is only one folder that starts with “doc“, so it automatically gets completed with quotes added. Now that’s pretty neat. If you want to continue further, just add another to the end and then press TAB. Note that you can add the forward slash after the quote and it will still work just fine.

You can continue through the different folders and files in a directory by simply pressing the TAB key. So if you type in C: and then keep pressing the tab key, you will be able to cycle through all the folders and files in that path in alphabetical order, i.e. C:Documents and Settings, C:Program Files, etc.

Note that this really only applies to Windows XP. In Windows 7 and higher, autocomplete will work automatically when you press the TAB key.

Enable Autocomplete for Command Prompt

Step 1: Click on Start, then Run and type in regedit in Windows XP. In Windows 7 and higher, just clicking on Start and then type regedit.

regedit

Step 2: Navigate to one of the following registry keys:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor

HKEY_CURRENT_USERSOFTWAREMicrosoftCommand Processor

So which one do you pick? Well, here’s how it works. The Local Machine key will apply to all users on the computer, but will be overridden by the Current User key if the value is different. For example, if autocomplete is disabled at the HKLM key, but enabled on the HKCU key, then it will be enabled. You can tell if autocomplete is disabled when pressing the TAB key simply inserts a TAB space.

You can change the settings in both locations if you like, but it is really only needed in the HKCU key for autocomplete to be enabled.

Step 3: Double-click on the CompletionChar key and change the value to 9 in decimal format. CompletionChar enables folder name completion.

command processor

You can also enable file name completion by changing the value of PathCompletionChar to 9 also. Note that the value 9 or 0x9 in hexadecimal is to use the TAB control character for autocomplete. You can also use other keys if you like.

For example, you can use 0x4 for CTRL + D and 0x6 for CTRL + F. I personally find the TAB key to be the most intuitive key, but you have other options if you need.

You can also use the same control character for both file and folder completion if you like. In this case, autocomplete will show you all matching files and folders for the given path.

As mentioned earlier, the default value in Windows 7, Windows 8 and higher is 0x40 (64 in decimal) in the HKLM key. It should be set to 0x9 (9 in decimal) in the HKCU key by default, which means it will be enabled. If not, you can manually go and change it.

Overall, this is a great time saver for anyone who has to type a lot of DOS commands. If you have any questions, feel free to post a comment. Enjoy!

The post How to Turn On Auto-Complete in the Command Prompt appeared first on Online Tech Tips.

How to Uninstall and Reinstall Windows Updates

Even though installing updates in Windows is an easy process, the mechanism in the background that manages it all is fairly complicated. There is also a lot of misinformation on the Internet about how to deal with problems relating to Windows Update.

One of the biggest misconceptions is that all Windows updates can be installed at once by simply deleting the SoftwareDistribution folder stored in C:Windows. This is completely wrong. Yes, you might save some space (anywhere from 500 MB to several GB’s), but deleting the folder will not remove any installed update.

In addition it’s a bad idea to delete the SoftwareDistribution folder unless it is absolutely required. There is a subfolder called DataStore that has a large database of all the Windows Updates available. This database will probably be a couple of hundred MBs in size. Deleting this database simply removes the Windows Update history for the computer.

To prove this to myself, I did a test. I opened Control Panel, clicked on Windows Update and then clicked on View Update History in the left hand menu.

review update history

This screen just gives you a full list of installed updates with the Status, Importance and Date Installed. When we delete the SoftwareDistribution folder, this dialog will be completely empty as if you have never installed any updates. Before I show you that, click on the Installed Updates link at the top where it tells you how to remove an update.

windows update history

As you can see, I have a couple of hundreds updates currently installed for Office, Windows, Silverlight, etc. Now if you follow the instructions below for deleting the folder, you can go back to View Update History dialog and you will see it’s now empty.

blank update history

However, if you click on Installed Updates again, you will see that all the updates that were listed before and still listed there. This is because we simply deleted the log history of the updates and not the actual updates.

This dialog is where you can actually uninstall an update, but only one at a time. Simply click on an update and then click Uninstall. Unfortunately, there is no way to remove all updates at once unless you use System Restore.

uninstall an update

If you use System Restore and restore the computer to a previous restore point, any updates that were installed after that restore point will be gone. To remove all updates, though, you would need a restore point created right after the OS was installed. Even if a restore point was created at that point, older ones normally get deleted over time to make space for newer restore points.

Still, if you have a lot of space allocated to System Restore, you might be able to roll back a couple months worth of updates at once.

Once you delete the contents of the folder, you will need to revisit Windows Update via Control Panel and check for updates. The entire database will be built from scratch and you may notice that Windows shows Checking for updates for a very long time. This is because a list of every update applicable to the OS has to be downloaded again and then compared to the updates currently installed on the system.

Delete SoftwareDistribution Folder

In order to remove this folder, you first have to stop the Windows Update and BITS services in Windows. To do this, click on Start and type in services.msc into the search box.

services msc

Next, right-click on the Windows Update service and click on Stop. Do the same thing for the Background Intelligent Transfer Service (BITS) service too.

stop windows update service

Now navigate to the following folder shown below and you will see several folders listed there. The main ones that we will talk about are Downloads and DataStore.

C:WindowsSoftwareDistribution

software distribution folder

If you are trying to regain hard drive space only, then you should only delete the contents of the Download folder, though in theory this should not really be necessary. The Download folder actually holds all the updates that have been downloaded, but not yet installed. Once they are installed, the updates are removed within 10 days. So theoretically, that folder should shrink in size soon after you have installed all the Windows updates.

The DataStore folder contains the database with the full Windows update history for the computer. Once it is deleted, the update history dialog will be blank like I had shown above, but all your updates will still remain. You should really never delete the DataStore folder unless you are told to do so or if Windows Update is completely corrupt and misconfigured.

Note that you may not be able to delete certain folders and the ReportingEvents file. In the case where you can’t delete a folder, just open the folder and delete all the contents inside. For me, I got an error when trying to delete the DataStore folder, so I just went inside the folder and deleted the database file and all the other files in the folder.

Check for Windows Updates

If you did remove the SoftwareDistribution folder, you will want to go to Windows Update again to check for updates. It will show that you have never perform a check for updates since the update history is now gone.

check for updates

Click the Check for updates button and be prepared to wait a while as the database is being recreated.

Conclusion

So the main point here is that you cannot really get rid of all Windows Updates at once unless you have a really old restore point saved on the system. Secondly, you should only delete the Downloads folder in the SoftwareDistribution folder if you are looking to save space or simply install all the latest updates and wait 10 days to see if they are removed automatically.

Thirdly, you should only delete the DataStore folder if something is really wrong with Windows Update like not showing any new updates for several months, etc. Hopefully, this gives you a better understanding of how Windows Update works and how the files are stored. If you have any questions, post a comment. Enjoy!

The post How to Uninstall and Reinstall Windows Updates appeared first on Online Tech Tips.