Jump to content

Disable Teams AutoStart / and access HKCU all users

Recommended Posts

Don't you hate it, turn on the computer and you got all this cra# that comes up before you can start using your computer, users had enough of it, and go figure Microsoft put the run commmand in HKCU rather than HKLM

I can't take credit for this one, I added the remove the run item but the balance of the script I found on ChristopherKibble.com, this script loops thru every users of the computer and edit's their HKCU, you run the script once and its fixed for all users on that system.


#** All code is for demonstration only and should be used at your own risk. I cannot accept liability for unexpected results. **
#Use: You're welcome to use, modify, and distribute this script.  I'd love to hear about how you're using it or 
#modifications you've made in the comments section of the original post over at ChristopherKibble.com.
# This key contains all of the profiles on the machine (including non-user profiles)
$profileList = Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
# This key contains the path to the folder that contains all the profiles (typically c:\users)
$profileFolder = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList').ProfilesDirectory
# This key contains the path to the default user profile (e.g. C:\Users\Default).  This is **NOT** HKEY_USERS\.DEFAULT!
# We don't do anything with it in this sample script, but it can be loaded and modified just like any other profile.
$defaultFolder = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList').Default
# HKEY_USER key is not loaded into PowerShell by default and we'll need it, so we'll create new PSDrive to reference it.
New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS | Out-Null
$profileList | % {
    $profileKeys = Get-ItemProperty $_.PSPath
    $sid = $profileKeys.PSChildName
    $profilePath = $profileKeys.ProfileImagePath
    # This is an easy way to exclude profiles outside of the default USERS profile folder, e.g. LocalSystem.
    # You may or may not want to do this depending on your requirements.
    if ($profilePath -like "$($profileFolder)*") {
        # Check if the profile is already loaded.        
        if (Get-ChildItem "HKU:\$sid" -ErrorAction SilentlyContinue) {
            $profileLoaded = $true
        } else {
            $profileLoaded = $false
        Write-Output "$sid `t $profilePath `t $profileLoaded"
        # Load the key if necessary
        if ($profileLoaded) {
            $userKeyPath = "HKU:\$sid"
        } else {
            $userKeyPath = "HKLM:\TempHive_$sid"
            & reg.exe load "HKLM\TempHive_$sid" "$profilePath\ntuser.dat"


#here's my one line of code below, this stops teams from loading at every logon.

Remove-ItemProperty -Path $USERKEYPATH\Software\Microsoft\Windows\CurrentVersion\Run\ -Name 'com.squirrel.Teams.Teams'

        if (!$profileLoaded) {
            & reg.exe unload "HKLM\TempHive_$sid"
Remove-PSDrive -Name HKU

Link to post
Share on other sites
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...