New Windows package management: winget
article #1504, updated 17 hours ago

It’s built into the latest builds of Windows 10 and 11 and Server, and can be installed into many. One good way to try it, is to install Microsoft .NET framework (SDK) 6, thus, from administrative Powershell:

winget install --id Microsoft.DotNet.Runtime.6 --silent --accept-source-agreements

I learned just now that if you add other seemingly valuable options to the one above, e.g., --scope machine, at least while running as SYSTEM, it will fail citing package not found. So you’ll want to test carefully.

Here’s one proven just now for 7zip (there’s a “search” option in winget to get the ID):

winget install --exact --id 7zip.7zip --accept-package-agreements --silent --scope machine

Here’s one for Google Chrome, needs a bit of extra:

winget.exe install --exact --id Google.Chrome --silent --accept-package-agreements --accept-source-agreements --scope machine

If you do want to use it from the SYSTEM account, in scripting, it gets interesting. You’ll want to first run this:

$ResolveWingetPath = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe"
    if ($ResolveWingetPath){
           $WingetPath = $ResolveWingetPath[-1].Path
$ENV:PATH += ";$WingetPath"

and then winget will run as expected.

If your system is Windows 10/2016/2019 build 1809 or higher, we can add winget if it’s not already there. Go to the Microsoft Store, and search for “App Installer” by Microsoft. Attempts to script this can be found, but none have worked persistently yet.



Easy Download of Windows 10 builds
article #1518, updated 3 days ago

Try URLs like this, for an ISO of Windows 10 build 1909:

Unfortunately, lacks the bandwidth for rapid downloads of monsters like those. Here’s a source which can set you up to do it in 10 minutes if your side is fast enough:



New Windows performance tool: Wise Care 365
article #1517, updated 8 days ago

This one has a lot of very nice performance tweaks, and a defrag within that seems to do a good job, though one cannot defrag an SSD, only TRIM.



Connect PowerShell to Exchange Online / Office 365 / Azure
article #804, updated 13 days ago

Here is a newest method as of right now. There was a warning seen when using a previous method, stating that previous methods will no longer be available fairly soon.

Set-Executionpolicy Bypass -Scope Process 
Install-Module PowerShellGet -Force -AllowClobber
Install-Module ExchangeOnlineManagement -Force -AllowClobber

and then, changing the below appropriately:

Connect-ExchangeOnline -UserPrincipalName



Transferring Domains into Network Solutions
article #1516, updated 15 days ago

This has become fraught with peril lately, even after initiation it can be far from easy to figure out what to do next. What to do next, after the transfer has initiated, is, we browse here:

and we put the transfer authorization code, from the outgoing registrar, after finding the appropriate Network Solutions account number for the order, and scrolling in the above page (if there are more than one; if you do a lot of this, there will be a pile, if not, just one) to find that account number. Then open the account and enter the code.

If you have trouble finding that account number, browse here:

and the account number will be listed with the order for the transfer.



Devices and Printers in some Windows 11 circumstances
article #1515, updated 22 days ago

Sometimes, the legacy/traditional Devices and Printers window does not come up in Windows 11. If you see this, browse to this in File Explorer:




Use DMARC to harden SPF and DKIM
article #1255, updated 23 days ago

The following TXT record contents:

v=DMARC1; p=reject; pct=100; adkim=s; aspf=s

at least theoretically, should harden SPF and, if present, DKIM. “=s” means “strict”. According to DMARC documentation, DMARC can be used without DKIM, and experiences with a first setup of the above without DKIM are playing out well so far.

To use the above, create a TXT record of name _dmarc with those contents.

Some more info is here:



CLEANMGR Advanced Mode
article #1444, updated 30 days ago

Run it like this from administrative CMD, in two steps. In the first step just check everything off. The second step runs it all. Cleans a whole lot more than any other way, and after you do the first step, the second step stays put, the number is actually the maximum index of sets of cleanup that you can keep around for future semi/automatic use.

Cleanmgr /sageset:65535 
Cleanmgr /sagerun:65535



Improvements on an NIU KQ3i e-Scooter
article #1514, updated 36 days ago

I have an Evercross H5 and an NIU KQ3i. I like the careful design and self-control of the NIU, but I have had to do a few things. Here’s a reference pic of my NIU:

First of all, on every single screw of the stem, I’ve added Blue Permatex Gel. This has kept them all from loosening.

Secondly, concerning the two silver screws on each opposite side near the bottom of the stem. These loosened often for me, even with B.P.G. I thought about trying Red Permatex, but there’s common advice to avoid this because you’re not going to get the screw out without serious heat, and we’re screwing into aluminum here. So I looked far and wide, and found some thin countersink washers that fit:

from McMaster-Carr (a great source for lots of things, click on the image for detail)

and used one of those on each silver screw. By the time I got that far, I had stripped the head of one of the silver screws, and I replaced it using McMaster:

You’ll notice that my replacement is Torx, not hex; this is deliberate, Torx is more resistant to stripping. Also, that screw is made of a very durable alloy. Have had zero trouble with either silver screw since.

I also tightened the larger hex bolts further down, you can see one of the two in the first pic above.

Lubrication has been helpful also, around bearings and really all over, though you don’t want it on your brake disks. The best so far has probably been CRC Electrical Silicone Lubricant. The “Electrical” part is very important because this is a very electrical device, and we don’t want anything sneaking in and either damaging or shorting anything out!



Restart All Failed VSS Writers
article #1513, updated 43 days ago

Found by the profound Brigg Bush:

$writers = vssadmin list writers | 
    Select-String -Context 0,4 'Writer name:' | 
    ? {$_.Context.PostContext[2].Trim() -ne "Last error: No error"} | 
    Select Line | 
    % {$_.Line.tostring().Split("'")[1]}

 $ServiceNames = $writers | 
    ForEach-Object {
        switch ($_) {
            'ASR Writer' { $Result = 'VSS' }
            'Bits Writer' { $Result = 'BITS'}
             'Certificate Authority' { $Result = 'EventSystem'}
            'COM+ REGDB Writer' { $Result = 'VSS'}
            'DFS Replication service writer' { $Result = 'DFSR'}
            'Dhcp Jet Writer' { $Result = 'DHCPServer'}
            'FRS Writer' { $Result = 'NtFrs' }
            'IIS Config Writer' { $Result = 'AppHostSvc'}
            'IIS Metabase Writer' { $Result = 'IISADMIN'}
            'Microsoft Exchange Writer' { $Result = 'MSExchangeIS'}
            'Microsoft Hyper-V VSS Writer' { $Result = 'vmms'}
            'MS Search Service Writer' { $Result = 'EventSystem'}
            'NPS VSS Writer' { $Result = 'EventSystem'}
            'NTDS' { 'EventSystem'}
            'OSearch VSS Writer' { $Result = 'OSearch'}
            'OSearch14 VSS Writer' { $Result = 'OSearch14'}
            'Registry Writer' { $Result = 'VSS'}
            'Shadow Copy Optimization Writer' { $Result = 'VSS'}
            'Sharepoint Services Writer' { $Result = 'SPWriter'}
            'SPSearch VSS Writer' { $Result = 'SPSearch'}
            'SPSearch4 VSS Writer' { $Result = 'SPSearch4'}
            'SqlServerWriter' { $Result = 'SQLWriter'}
            'System Writer' { $Result = 'CryptSvc'}
            'WMI Writer' { $Result = 'Winmgmt'}
            'TermServLicensing' { $Result = 'TermServLicensing'}

If ($ServiceNames) { Restart-Service -Name ($ServiceNames | Select-Object -Unique) -WhatIf }

If ($Result) { Restart-Service -Name ($ServiceNames | Select-Object -Unique) -WhatIf }