This very nice tool will download an executable from a web site and test it for bad actor behavior.
Test files and URLs for viruses
article #1573, updated 345 days ago
Install Edge browser via Powershell
article #1491, updated 345 days ago
This works well as of this writing.
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" md -Path $env:temp\edgeinstall -erroraction SilentlyContinue | Out-Null $Download = join-path $env:temp\edgeinstall MicrosoftEdgeEnterpriseX64.msi Invoke-WebRequest 'http://go.microsoft.com/fwlink/?LinkID=2093437' -OutFile $Download Start-Process "$Download" -ArgumentList "/quiet" # placeholder for "enter" autokeyhit
This is a change to a replacement URL, and it will hopefully be a more lasting kind than the previous. The above works for AMD64 Windows; the URL comes from here:
and there is support for other platforms on that page.
Block real-name email spoofing
article #1572, updated 347 days ago
We see it fairly often. An email comes “From” a real name, but the actual email address is wrong, a spammer’s or scammer’s Gmail or worse. Once we saw this with a very slightly misspelled domain — let’s say “pondervorthy” instead of “ponderworthy”. I just learned of a way to handle it, when one has email filtration which can do it, and when it works for another reason:
Let’s say we’re protecting me. I know all of my email addresses, at work and home. If I set my email filtration system to consider spam everything From “Jonathan E. Brickman” and “Jonathan Brickman”, which does not come from any of my email addresses, that will take good care. The biggest risk is another person named Jonathan Brickman trying to email me. Reportedly, one should actually do it like this, scanning email headers:
FROM: Jonathan Brickman, FROM: "Jonathan Brickman
This is because some of the bad actors are adding spaces after the name text. So the final quote is not set up in the filter rule. It’s really two different FROM field lookups within headers of the email, OR’d, in this system.
Now there are a number of Jonathan Brickmans in the world, but I haven’t met one yet (if you are one, please do email me at jeb@ponderworthy.com, that way we both will have done so at least once); I’m not sure there are many Jonathan Edward Brickmans; but if I found that there were, I’d put in a nickname in parenthesis, set the filtration rule for it
FROM: Jonathan Brickman (JEB), FROM: "Jonathan Brickman (JEB)
and that should do the job nicely, giving me a unique “From” real name for filtration purposes.
There may be other “gotchas”, I will test this over time. It cannot do a comprehensive block, but can clearly help.
In Microsoft Outlook rules, some of the above logic seems to be missing: one cannot filter based on text or email addresses not in the header. I will be checking Exchange Online shortly. One third-party service is confirmed as working well for this.
Restricting YouTube Video for Content
article #1571, updated 348 days ago
Simple web-filters often cannot do the job on YouTube, because YouTube is one big web site. To deny access to certain kinds of content, a worthwhile route is Group Policy for Chrome and Edge, to require YouTube restricted mode:
www.thewindowsclub.com/how-to-enforce-youtube-restricted-mode-in-chrome
www.thewindowsclub.com/youtube-restricted-mode-in-microsoft-edge
This plus cleanbrowsing.org DNS, seems to do the job very well.
Disable "News and Interests" in Windows 10
article #1570, updated 352 days ago
Here is Group Policy:
Computer Configuration / Administrative Templates / Windows Components / News and interests
Check web sites for active infections, via sandbox analysis
article #1569, updated 354 days ago
This tool does the job, it uses Crowdstrike and other major-player tools:
Block personal use of Microsoft Teams
article #1567, updated 358 days ago
If you want to prevent non-M365 login to Teams:
Get HP serial number for a Windows PC
article #1565, updated 362 days ago
This just worked well, reportedly also works on Dell:
Get-WmiObject Win32_BIOS | Select-Object SerialNumber
Microsoft Entra Connect - Rename of Azure AD Connect - Download
article #1564, updated 368 days ago
OK, so it started as DirSync, is still being called on some pages “Azure AD Connect”, including the download page as of this writing:
www.microsoft.com/en-us/download/details.aspx?id=47594
but it is, apparently, officially renamed Microsoft Entra Connect:
learn.microsoft.com/en-us/entra/identity/hybrid/connect/whatis-azure-ad-connect-v2
except within the URL itself :-)
Please note that this is NOT the same as Microsoft Entra Cloud Sync. The above does LDAP, Cloud Sync does not.
Preventing System Volume Information buildup
article #1507, updated 378 days ago
The overall cause of buildup of orphan shadows in “System Volume Information” folders, is physical storage not being able to keep up with demand.
The best first steps I have, are to run what I sometimes call general cleanup. After that, I run PrivaZer without checking traces in free space, which saves time and does not affect performance results. PrivaZer cleans up an amazing variety of NTFS issues, even new installs often benefit.
And after that, three registry entries. Here’s Powershell code to get them in and engaged.
$NewMaxShadowCopies = 8 $NewMinDiffAreaFileSize = 128 # http://www.tomsitpro.com/articles/powershell_registry-powershell_command_line,2-152.html function setupDWORD { param( [string]$regPath, [string]$nameForDWORD, [long]$valueForDWORD ) ############## # Error out if cannot touch the registry area at all If ( !(Test-Path $regPath) ) { Try { New-Item $regPath -Force -ErrorAction SilentlyContinue } Catch { Write-Error ("Could not visit or create registry path " + $regPath) Return } } ############# # If an existing registry entry exists, store its value to report later Try { $oldValueProperty = Get-ItemProperty -Path $regPath -Name $nameForDWORD -ErrorAction SilentlyContinue $oldValue = $oldValueProperty.$nameforDWORD } Catch { $oldValue = "" } ############# # Report the changes to make Write-Output ("DWORD to write: " + $nameForDWORD) Write-Output ("at registry path " + $regPath) If ($oldValue -ne "") { Write-Output ("Original value is " + $oldValue) } else { Write-Output "No original present." } Write-Output ("New value is " + $valueforDWORD) ############ # Report no changes to make, set new registry entry, or error out If ($oldValue -eq $valueforDWORD) { Write-Output "No change to make." "" Return } Try { New-ItemProperty -Path $regPath -Name $nameForDWORD -Value $valueForDWORD -PropertyType DWORD -Force -ErrorAction SilentlyContinue > $null } Catch { Write-Error "Failed!" "" Return } "Succeeded!" "" } setupDWORD "HKLM:\System\CurrentControlSet\Services\VSS\Settings" "MaxShadowCopies" $NewMaxShadowCopies setupDWORD "HKLM:\System\CurrentControlSet\Services\VolSnap" "MinDiffAreaFileSize" $NewMinDiffAreaFileSize setupDWORD 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows' 'DeleteStaleTaskCache' 1 "" "Restarting VSS..." Restart-Service -Force -Name "VSS" "" "Complete!" ""