• Home network (workgroup) issues newly developed (Jan 2024)

    Home » Forums » AskWoody support » Windows » Windows 10 » Windows 10 version 22H2 » Home network (workgroup) issues newly developed (Jan 2024)

    Author
    Topic
    #2628697

    I’ve recently developed a problem with my local network in my home.
    I have 3 computers all with Win10Pro 22H2 configured to be on my (home) workgroup. All are connected via WiFi through an Asus router. The main one is my desktop PC, the other two Lenovo Thinkpads.
    I haven’t changed any Windows settings that I am aware of. I have had issues with a cable network (note – different “network” though the same term is used in Windows) where we had a configuration with internet access coming in through a Cable Modem, to a pfSense firewall system, to the Asus router. That wasn’t working for a while, is now fixed, but is “upside” of my workgroup/network so I don’t knwo that it would have been involved with this problem.
    The problem is that, all of a sudden, my PC’s are (variably) not visible to each other. On the desktop, on Explorer, the network doesn’t show any connected computers. Similarly on laptop1. On laptop 2, the network shows itself and the desktop PC but not the other laptop.
    I’ve gone through multiple network fix steps suggested on a couple of websites (https://www.deskdecode.com/fix-network-error-windows-cannot-access-computer-name/ and https://woshub.com/network-computers-not-showing-windows-10/ ) but nothing has worked to resolve this situation.

    My question is whether there are any recent changes in Windows10 (presumably brought about by kb-fixes or updates) that might have damaged the network management within Win10 that anyone would suggest that I could look at…

    (I’m not going to address the oddities. Why can one PC see the others but the others not… This does suggest that my network is working in some fashion, anyway)

    Thanks  Richard

    Viewing 7 reply threads
    Author
    Replies
    • #2628812

      I wonder…kind of the same problem.  My ethernet network adapter would not connect to internet.  When I attached the ethernet cable to a USB 3.0 ethernet adapter, I have ethernet internet connection.  (Never lost wifi capabilities).  Just wondering if recent installation of KB5034122 or kb5034275 might have anything to do with loss of ethernet internet. Anyone else experience similar problems?

      If this need to be in different forum, please advise.

      Thanks.

      • #2628824

        Check the ethernet is set to automatically obtain an IP (DHCP) and not set manually.

        cheers, Paul

    • #2628816

      Check and make sure that the network adapter and/or wifi knows that it’s on a private network and not public. This will block peer file sharing if it’s flipped to public and patches will sometimes do that.

      Susan Bradley Patch Lady/Prudent patcher

    • #2628835

      Thanks.

      Yes, the IP connection is automatic and the Network profile is indeed private, for all three computers.

      I could have noted that I tried, in desperation, a fresh in-place install of Win10 on the desktop computer (which hopefully would have dealt with driver issues that have been referred to); and all three computers seem to have the same updates installed according to the update history.  I did try uninstalling updates back to before the problem started but this made no difference.

      Right now it is quite frustrating. I look straight ahead, the network is unresponsive;  I rotated my head 90 degrees to the laptop and the network and it’s other devices are there and smiling at me.  It is almost certainly one single secret and/or obscure setting which is incorrect and hiding the network from view – albeit not making it totally unresponsive…  I say this because a file synchronizing program between two computers continues to work  and copy files between them, even if invisible.

       

    • #2628837

      Set each PC with fix IP and add these IPs to Quick Access.

    • #2628898

      It has been my experience that when the PCs fail to “see” another PC on the network most of the time it is the PC that is not being seen is because the security software of that PC (namely the Firewall portion) is operating under “stealth” mode and not responding to acknowledging requests from the PC trying to connect. You did not indicate what type of security software you have and it or Windows is handling the Firewall. Easy to test. Temporarily deactivate all security software on the PC your trying to “see” and try to connect then. On some systems I had to add a network PC to the white list of the Firewall software to allow connection.

      HTH, Dana:))

      1 user thanked author for this post.
      • #2629147

        Thanks Dana:

        It has been my experience that when the PCs fail to “see” another PC on the network most of the time it is the PC that is not being seen is because the security software of that PC (namely the Firewall portion) is operating under “stealth” mode and not responding to acknowledging requests from the PC trying to connect.

        These are good thoughts.   I’m using only Windows security/firewall on all of the computers.  I think one of the problems with it being the solution is the inconsistency:  on one of the Laptops I can see both remote computers.  (this is the newest, with Win10 installed by the manufacturer – so something might be a bit different (or perhaps must be a bit different).  This computer can see both remote computers.  But on the desktop, clicking on the “Network” icon just doesn’t show anything…

        I did try, a few days ago, turning of all security/firewall on the desktop to see if it makes any difference but it did not.  Now I similarly turned off all firewall/security on the ‘good’ laptop – but this made no change to the behaviour on the desktop machine.

    • #2628979

      Windows has always had problems enumerating devices on a peer-to-peer network.

      Often even though you don’t see them in File Explorer you can access them by using their URL, ie, in my case \\DellXPS8700\share name.

      You did check your shares on each machine I assume?

      The other trick I use is to setup an account on each machine with the same UserID and Password. This account can be hidden so it doesn’t get in your way but this process also seems to help.

      Here’s a PowerShell script I use to make sure all Networks are set to private.

      <#
      .Synopsis
       Change all network profiles to PRIVATE!
      
      .Description
       Change all network profiles to PRIVATE!
      
      .Outputs
       N/A  
      
      .Notes
         Programmer   : RetiredGeek (@askWoody.com) & 
                                    (@stackoverflow.com) 
                   aka: ComputerMentor
         Created      : 10 Aug 2022
         Last Updated : 10 Aug 2022
         Current Vers : 1.0
      
      .Example
       [d:\path\]Set-AllNetworksPrivate.ps1
      
       Will set all networks as PRIVATE in the registry.
      
      #>
      
      
      # Two blank linea above required for Comment-Based Help
      
      #----------------- Main Program ---------------------------
      
      Clear-Host
      
      Add-Type -AssemblyName "System.Windows.Forms"
      $StatusMsg = {
        [Windows.Forms.MessageBox]::Show($Message, $Title,
        [Windows.Forms.MessageBoxButtons]::OK ,
        [Windows.Forms.MessageBoxIcon]::$Icon)}
      
      #Setup Variables:
      
      [Int32]$ErrorCnt  = 0  #Note: set to 1 to test error condition!
      [Version]$PGMVers = '01.00.00'
      
      $BaseRegPath = "HKLM:\SOFTWARE\Microsoft\"   +
                            "Windows NT\CurrentVersion\" +
                            "NetworkList\Profiles"
      
      $NIPArgs = @{Name         = "Category"
                   Value        = 1
                   PropertyType = "DWord"
                   Force        = $True
                   ErrorAction  = "Stop"}
      
      $GCIArgs = @{Path        = "$BaseRegPath"
                   ErrorAction = "Stop"}
      
      $Nets = Get-ChildItem @GCIArgs
      
      ForEach ($Net in $Nets) {
      
        Try   { $Null = $Net | New-ItemProperty @NIPArgs }
        Catch { $ErrorCnt++ }
      
      }
      
      $Title = "Set-AllNetworksPrivate Vers: $PGMVers"
      $Message = "Network Status: nn"
      If ($ErrorCnt -eq 0) {
        $Message += "All profiles set to Private"
        $Icon     = "Information"
      }
      Else {
        $Message += "$ErrorCnt profile(s) NOT set to Private"
        $Icon     = "Warning"
      }
      $Null = & $StatusMsg
      

      Here’s another that will check for PS Remoting settings which require the network to be setup properly.

      <#
        .Synopsis
         Check a local or remote computer to see if it is properly
         configured to enable PowerShell Remoting on a
         Peer-to-Peer Local network.
      
        .Description
         Check a local or remote computer to see if it is properly
         configured to enable PowerShell Remoting. The program checks
         all the necessary, and some optional, settings necessary to
         implement effective PowerShell Remoting on a Peer-to-Peer
         Local Area Network.    
      
        .Parameter Remote
         The name of the remote computer to be tested.
      
        .Outputs
          
      
        .Notes
           Programmer   : RetiredGeek (@askWoody.com) aka: ComputerMentor
           Created      : 17 May 2020
           Last Updated : 09 Aug 2022
           Current Vers : 1.2.0
      
           Program will report errors is SMBv1 is uninstalled!
      
        .Example
         [d:\path\]Test-PSRemoting.ps1
      
         Will test the setup of the local computer for PS Remoting.
      
        .Example
         [d:\path\]Test-PSRemoting.ps1 -Remote [computername]
      
         Will test the setup of a remote computer on your local LAN
         for PS Remoting.
      
      #>
      
      
      # Two blank linea above required for Comment-Based Help
      
      Param (
        [Parameter(Mandatory=$False)]
          [String] $Remote = "$Env:COMPUTERNAME"
      )
      
      Function Get-AdminStatus {
      
        $identity =
           [Security.Principal.WindowsIdentity]::GetCurrent()
        $principal =
           New-Object Security.Principal.WindowsPrincipal $identity
      
        If (-NOT ($principal.IsInRole(
            [Security.Principal.WindowsBuiltinRole]::Administrator)))
          {"User"}
        Else
          {"Administrator"}
      
      } #End Function -----------  Get-AdminStatus ------------------
      
      Function Show-TestResults {
      
      #--- Form Drawing References ---
      
        $Form_Width       =  750 #950    
        $Form_Height      =  500 #605
        $tabWidth         =  $Form_Width  - 10
        $tabHeight        =  $Form_Height - 30
        $tboxHeight       =  $tabHeight   - 90
        $tboxWidth        =  $tabWidth    - 20
      
       $WindowTitle = "Computer Mentor's Test-PSRemoting " +
                      "Settings - Version: $PgmVers"
        
      [xml]$xaml = @"
      
      
          
      
            
      
          
      
          
           
                
      
            
      
             
            
      
            
      
             
            
      
           
      
              
          
      
      "@
      
      $NOArgs = @{TypeName = 'System.Xml.XmlNodeReader'
                  ArgumentList = $xaml}
      $reader=(New-Object @NOArgs)
      
      $ErrorAction = "STOP"
      Try  {$Form=[Windows.Markup.XamlReader]::Load( $reader )}
      Catch{Write-Host "Unable to load Windows.Markup.XamlReader." +
                       "`nDouble-check syntax and ensure " +
                       ".net is installed."
           }
      $ErrorAction = "Continue"
      
      $Form.Topmost = $False
      $Form.Cursor = [System.Windows.Input.Cursors]::Hand
      
      $tboxPassed = $Form.FindName("tboxPassed")
      $tboxPassed.AddText($PassedItems)
      $tboxPassed.TextWrapping = "Wrap"
      
      $tboxFailed = $Form.FindName("tboxFailed")
      $tboxFailed.AddText($FailedItems)
      $tboxFailed.TextWrapping = "Wrap"
                             
            #--- Connect Button Control Events ---#
      
      $ExitBtn = $Form.FindName("ExitBtn")
      $ExitBtn.Add_Click({$Form.Close()})
      
      [void]$Form.ShowDialog() 
      
      } #End Function Show-TestResults
      
      #------------------------ Main Program ----------------------
      
      Clear-Host
      
      $PGMVers = [Version]'01.02.00'
      $Remote  = $Remote.ToUpper()
      
      
      Add-Type -AssemblyName "System.Windows.Forms"
      
      $TermMsg = {
        [Windows.Forms.MessageBox]::Show($Message,
                  "Test-PSRemotingSetup.ps1 - Program Terminated:",
        [Windows.Forms.MessageBoxButtons]::OK ,
        [Windows.Forms.MessageBoxIcon]::Information)}
      
      If ((Get-AdminStatus) -eq "User") {
          $Message =
              "You are running your PS session as a USER!`n" +
              "Please run program as an Administrator."
           $Null = & $TermMsg
          Exit
      }
      
      If ($host.Name -eq 'ConsoleHost' -or
          $host.Name -eq 'Visual Studio Code Host') {
      
        Try{  <#+------------------------------------------------+
                | Check that the proper assemblies are loaded    |
                | Required for PS Console and Visual Code, while |
                | only Systems.Windows.Forms needed for PSISE!   |
                +------------------------------------------------+
              #>
          $ATArgs = @{AssemblyName = "PresentationCore",
                                     "PresentationFramework",
                                     "WindowsBase"
                      ErrorAction = 'Stop'}
          Add-Type @ATArgs
        }
        Catch {
          $Message =
              "Failed to load Windows Presentation Framework" +
              " and/or other assemblies required for this program!"
           $Null = & $TermMsg
          Exit
        }
      
      } #End If ($host...
      
      $PassedItems = "Computer: $Remote`n" | Out-String
      $FailedItems = $PassedItems
      $FailedLen   = $FailedItems.Length
      $ScriptBlock = [Ordered]@{} #Setup Empty Ordered Hash Table
      
      $ScriptBlock.Add("FWR", 
                {$x = Get-NetFirewallRule -Name 'WMI-WINMGMT-In-TCP'
                 If ($x.Direction -eq "Inbound" -and
                    ($x.Action -eq "Allow")) {$True} Else {$False}})
      $ScriptBlock.Add("RPC", {Get-Service -Name "RpcSs"})
      $ScriptBlock.Add("DCL", {Get-Service -Name "DcomLaunch"})
      $ScriptBlock.Add("ADM", {net localgroup Administrators})
      $ScriptBlock.Add("HPV", {
           $GWOArgs = @{FeatureName = "Microsoft-Hyper-V"
                                            Online      = $True}
           ((Get-WindowsOptionalFeature @GWOArgs).State).ToString()})
      $ScriptBlock.Add("TRH", {
           $GIArgs = @{Path = "WSMan:\localhost\Client\TrustedHosts"
                       ErrorAction = "Stop"}
           (Get-Item @GIArgs).Value.Split(',')})
      $ScriptBlock.Add("PUN", {
           $GCIArgs = @{Path = "HKLM:\SOFTWARE\Microsoft\"   +
                                "Windows NT\CurrentVersion\" +
                                "NetworkList\Profiles"
                        ErrorAction = "Stop"}
           $x = Get-ChildItem @GCIArgs
           $Public = $False
           For ($cnt = 0 ; $Cnt -lt $x.Count; $cnt++) { 
              If ($x[$($Cnt)].GetValue("Category") -eq 0) {
                $Public = $True}
           }
           $Public})
      
      $Results = [Ordered]@{}
      
      $Results.Add("FWR","")
      $Results.Add("RPC","")
      $Results.Add("DCL","")
      $Results.Add("ADM","")
      $Results.Add("HPV","")
      $Results.Add("TRH","")
      $Results.Add("PUN","")
      
      <#+--------------------------------------------------------+
        | Process the commands using the appropriate command for |
        | Local or Remote computers.                             |
        +--------------------------------------------------------+#>
      
      $ScriptBlock.GetEnumerator() | ForEach-Object {
      
        If ($Remote -eq "") {
          $ErrorActionPreference = "STOP"
          Try { 
            $Results.$($_.Key) = & $($_.Value)
          }
          Catch {#No action necessary-supress error msgs.
          }
        }
        Else {
            $ICArgs = @{ComputerName = $Remote
                        ScriptBlock  = $($($_.Value))
                        ErrorAction  = "Stop"}
            Try {
              $Results.$($_.Key) = Invoke-Command @ICArgs
            }
            Catch {#No action necessary-supress error msgs.
            }
        }
      }
      
      #$ErrorActionPreference = "STOP"
      
      If ($Results.FWR) {
        $PassedItems += 
         ("Firewall is configured to receive " +
         "WMI-Inbound traffic including PSRemoting commands.`n") |
         Out-String
      }
      Else {
          $FailedItems +=
            "Firewall is not configured to receive WMI-Inbound " +
            "traffic or the machine was unreachable.`n" +
            "This includes PSRemoting commands.`n"      |
            Out-String
      }
      
      If ($Results.RPC -ne "") {
        $PassedItems += 
          "Remote Procedure Call (RPC) is " +
          "$(($Results.RPC).Status).`n" | Out-String
      }
      Else {
        $FailedItems += 
          "Remote Procedure Call (RPC) is NOT running.`n"|
            Out-String
      }
      
      If ($Results.DCL -ne "") {
        $PassedItems +=
          "DCOM Server Process Launcher (DcomLaunch)" +
          " is $(($Results.DCL).Status).`n" | Out-String
      }
      Else {
        $FailedItems +=
          "DCOM Server Process Launcher (DcomLaunch)" +
          " is NOT running.`n" | Out-String
      }
      
      If ($Results.ADM -ne "" -and 
          $Results.ADM -contains "$Env:UserName") {
        $PassedItems +=
          "Contains an administrator account that matches " +
          "your userid $Env:UserName.`n" | Out-String
      }
      Else {
        $FailedItems += 
          "Does NOT contain an administrator account that " +
          "matches your userid $Env:UserName.`n"  | Out-String
      }
      
      If ($Results.HPV -eq "Enabled") {
        $FailedItems +=
          "Hyper-V feature is enabled!`n" +
          "Hyper-V creates a Net Adapter with network type set"   +
          " to PUBLIC. This causes a problem and Hyper-V should " +
          "be UNINSTALLED.`n" | Out-String
      }
      Else {
        $PassedItems +=
          "Hyper-V is NOT installed this is GOOD!`n" |
          Out-String
      }
      
      If (($Results.TRH -ne "" -and 
          $Results.TRH -contains "$Env:ComputerName") -or
          $Results.TRH -eq ''                  -or
          $Results.TRH -eq '*' ) {
        $PassedItems +=
          "Contains an entry for this computer in its " +
          "Trusted Hosts list.`n" | Out-String
      }
      Else {
        $FailedItems +=
          "Does NOT contain an entry for this computer in " +
          "its Trusted Hosts list.`n"  | Out-String
      }
      
      If ($Results.PUN ) {
        $FailedItems +=
          "Contains one or more networks that are set to " +
          "Public.`n" | Out-String
      }
      Else {
        $PassedItems +=
          "Does NOT contain any networks set to Public.`n"  | 
          Out-String
      }
      
      If ($FailedItems.Length -gt $FailedLen) {
            $ProblemsVisibility = "Visible"}
      Else {$ProblemsVisibility = "Hidden" }
      
      Show-TestResults
      

      May the Forces of good computing be with you!

      RG

      PowerShell & VBA Rule!
      Computer Specs

      1 user thanked author for this post.
      • #2629152

        Thanks RG…

        Powershell – particularly the latter script – seems so complicated to me that surely it must work!

        Unfortunately I’m getting an error message:  “Unable to load Window.Markup.XamlReader. +” and Double-check syntax and ensure .net is intalled” & a whole bunch of ‘The property ‘…’ cannot be found on this object” .  I am not sure from whence these problems arise….

         

        More ‘back to the drawing board’ for me.

    • #2629375

      Did you run the script as admin?

      Yup.  I run everything in cmd.exe  as admin as nothing seems to work otherwise!

    • #2634365

      I wonder…kind of the same problem.  My ethernet network adapter would not connect to internet.  When I attached the ethernet cable to a USB 3.0 ethernet adapter, I have ethernet internet connection.  (Never lost wifi capabilities).  Just wondering if recent installation of KB5034122 or kb5034275 might have anything to do with loss of ethernet internet. Anyone else experience similar problems?

      If this need to be in different forum, please advise.

      Thanks.

      I had same problem as WSPseudogeek. My laptop turning a BSOD several times a day after installing KB5034122 (while KB5034441 failed to install). Meanwhile my desktop was working fine with KB5034122 and also KB5034441 having failed to install.

      Error massage from my laptop were all related to network adapter, having wrong IP config, etc… I tried multiple times to re-install driver, reset router, running sfc and dism, etc… BSODs kept coming.

      My laptop has a Intel Dual Band AC-8265 as wireless adapter while the desktop has a totally different adapter. Both connected wirelessly to same Asus router. I am convinced that KB5034122 interferes with the AC-8265, the Asus driver last updated in July 2020.

      Eventually I restored a drive image taken with Macrium free in December 2023 and all is fine now. I paused the Win 10 updates till end of February and hopefully by then Microsoft will have found a fix (haha, he hopes).

      Roland

       

       

       

    Viewing 7 reply threads
    Reply To: Home network (workgroup) issues newly developed (Jan 2024)

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: