MoonPoint Support Logo

 

Shop Amazon Warehouse Deals - Deep Discounts on Open-box and Used ProductsAmazon Warehouse Deals



Advanced Search
December
Sun Mon Tue Wed Thu Fri Sat
  6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
2025
Months
Dec


Mon, Nov 24, 2025 7:46 pm

Determining the location of a user's "My Documents" folder with PowerShell

I needed to move some files from one Windows 11 system that is no longer being used, as the user is no longer working for the company, to another Windows 11 system where the user of that system, Pam, is now handling a task formerly handled by the prior employee, but while logged onto the account for the user now handling the task on her system, I noticed that her Documents folder was empty. The Windows domain name changed at that business a few years ago, so I thought that perhaps she might be using a Documents directory associated with her account under the prior domain name rather than the new one created for her new domain login. You can determine the location of a user's "My Documents" directory, which can be redirected to another location, including a network share or another drive, by issuing the PowerShell command [Environment]::GetFolderPath("MyDocuments"). E.g.:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Users\Pam> [Environment]::GetFolderPath("MyDocuments")
C:\Users\Pam\Documents
PS C:\Users\Pam>

The command utilizes the GetFolderPath method from the System.Environment class to retrieve the path of special folders, including "MyDocuments," for the user under whose context the script or command is executed. This method correctly identifies the mapped location even if the Documents folder has been redirected or moved from the default location.

In this case, I found that her "My Documents" directory was pointing to the directory associated with the old domain name. Her "home" folder was also pointing to the home folder that was in use for her account in the old domain. You can type $home in a PowerShell window to see that value. Or you can use $env:USERPROFILE to see the same information.

PS C:\Users\Pam> $Home
C:\Users\Pam
PS C:\Users\Pam >$env:userprofile
C:\Users\Pam
PS C:\Users\Pam>

[/os/windows/PowerShell] permanent link

Sat, Nov 22, 2025 10:12 pm

PowerShell cmdlets to check remote connectivity and firewall rules

When I tried to establish a Secure Shell (SSH) connection to a Windows 11 PC at a remote location today, I was unable to do so. I usually connect to the Windows domain controller at the location and establish the SSH connection to the user's Windows 11 system through it, but that was not working. I thought the problem was likely due to McAfee stopping providing firewall protection for incoming connections to ports on PCs as part of their antivirus software, since the antivirus software on PCs at that location was McAfee Antivirus Plus. When McAfee stopped providing that firewall service as part of McAfee AntiVirus Plus, the software reverted firewall protection for incoming connections to Microsoft's default firewall software, Microsoft Defender Firewall, aka Windows Firewall. When I check firewall protection on a Windows system running McAfee AntiVirus Plus, I now see the following message:

McAfee and Windows Defender are now working side by side

Our Advanced Firewall provides enhanced protection by blocking risky outgoing connections. Windows Defender Firewall provides protection for incoming connections.

Keep both firewalls on for complete protection.

McAfee and Windows Defender

So I thought I likely needed to create similar firewall rules for incoming connections in the Windows Firewall software as had existed previously in the McAfee firewall software.

[ More Info ]

[/os/windows/PowerShell] permanent link

Sun, Jun 30, 2024 9:12 pm

Determining the version of a PDF document

If you have a Portable Document Format (PDF) file and wish to determine the version of the PDF standard used for the document, that information is stored in the first line of the file. You can open the file with a text editor, such as the Windows Notepad application on a Microsoft Windows system and view the first line to determine the PDF version used for the file. You will see %PDF-x.y where x.y is the version of the PDF standard used in the creation of the file, e.g., %PDF-1.7 for version 1.7.

On a Microsoft Windows system, you could also open a PowerShell window (you can type PowerShell in the Windows Search field and click on the application when you see it returned in the list of results) and use the Get-Content cmdlet and the -First parameter followed by the number one. E.g.:

PS C:\> Get-Content "July 2024 Newsletter.pdf" -First 1
%PDF-1.7
PS C:\>

Related:

  1. PowerShell Get-Content equivalents to Linux head and tail commands
    Date: March 22, 2024

[/os/windows/PowerShell] permanent link

Mon, Apr 15, 2024 9:01 pm

Calculating a hash value for a file with Get-FileHash

The PowerShell cmdlet Get-FileHash provides a cryptographic hash function that will allow you to determine a hash value of a file on a Microsoft Windows system. By default, the cmdlet uses the SHA-256 hash function, but you can specify other functions, such as MD5, using the -Algorithm parameter. You can change the output to a list format by piping the output of the cmdlet to Format-List.

PS C:\users\public\downloads> Get-FileHash ".\rel_x64_Xming-7-7-1-1-setup.exe"

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          B7B4C0A191E315686A2481DCC8BBB27D6D7A156FBF689768E48CF08207B86560       C:\users\public\downloads\rel...


PS C:\users\public\downloads> Get-FileHash ".\rel_x64_Xming-7-7-1-1-setup.exe" | Format-List


Algorithm : SHA256
Hash      : B7B4C0A191E315686A2481DCC8BBB27D6D7A156FBF689768E48CF08207B86560
Path      : C:\users\public\downloads\rel_x64_Xming-7-7-1-1-setup.exe



PS C:\users\public\downloads> Get-FileHash -Algorithm MD5 ".\rel_x64_Xming-7-7-1-1-setup.exe"

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
MD5             BA200636A596A84E0877901CE89D1C2E                                       C:\users\public\downloads\rel...


PS C:\users\public\downloads>

[ More Info ]

[/os/windows/PowerShell] permanent link

Fri, Mar 22, 2024 9:44 pm

PowerShell Get-Content equivalents to Linux head and tail commands

The Windows PowerShell Get-Content cmdlet can provide the equivalent to the Unix/Linux head and tail commands. E.g., suppose a file named somefile.txt contains the following ten lines:
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10

The following Get-Content commands could be used to obtain the first 5 and the last 5 lines in the file.

PS C:\Users\Arnold\Documents> Get-Content somefile.txt -Head 5
line 1
line 2
line 3
line 4
line 5
PS C:\Users\Arnold\Documents> Get-Content somefile.txt -Tail 5
line 6
line 7
line 8
line 9
line 10
PS C:\Users\Arnold\Documents> Get-Content somefile.txt -TotalCount 5
line 1
line 2
line 3
line 4
line 5
C:\Users\Arnold\Documents>

The TotalCount parameter can function like the Head parameter and will return the first x number of lines specified with x being 5 in the example above. You can also use it to obtain a specific line, though. E.g., if you wished to see the 7th line in the file, you could use the command below.

PS C:\Users\Arnold\Documents> (Get-Content Somefile.txt -TotalCount 7)[-1]
line 7
PS C:\Users\Arnold\Documents>

By default the delimiter for lines is the newline, aka end-of-line character, \n, but you can change that with the -Delimiter parameter.

References:

  1. Get-Content
    Microsoft Learn

[/os/windows/PowerShell] permanent link

Fri, Sep 15, 2023 5:14 pm

Determining the Serial Number of a Disk Drive with PowerShell

If you need to determine the serial number of a hard disk drive (HDD) attached to a Microsoft Windows system, you can do so from a PowerShell window using the cmdlet Get-Disk (you can open a PowerShell window by typing PowerShell in the Windows "Type here to search field on a Windows 10 system and then selecting the app when it is returned in the list of search results). If you just want a list of drives attached to the system by a USB connection, you can pipe the output of the cmdlet to the Where-Object cmdlet where you can filter on just drives that have a USB connection as shown below.

PS C:\> Get-Disk | Where-Object -FilterScript {$_.Bustype -Eq "USB"}
Number Friendly Name Serial Number                    HealthStatus         OperationalStatus      Total Size Partition
                                                                                                             Style
------ ------------- -------------                    ------------         -----------------      ---------- ----------
1      SanDisk Cr... 03025228050421082418             Healthy              No Media                      0 B RAW
2      USB2.0 Car... 606569746800                     Healthy              No Media                      0 B RAW
4      USB2.0 Car... 606569746802                     Healthy              No Media                      0 B RAW
5      USB2.0 Car... 606569746803                     Healthy              No Media                      0 B RAW
3      USB2.0 Car... 606569746801                     Healthy              No Media                      0 B RAW
6      WD My Pass... WXM1A375CKEZ                     Healthy              Online                  931.48 GB GPT


PS C:\>

[ More Info ]

[/os/windows/PowerShell] permanent link

Wed, Sep 13, 2023 10:22 pm

Filtering Windows Updates by a Specific Date

When I logged into a user's Microsoft Windows 10 system to check on a problem, I found the system had rebooted late the night before, September 12, 2003, at a time much later than I would expect the user to be working, so I didn't think she had rebooted it. I didn't know if the reboot might be related to the problem she reported to me or could possibly just be Microsoft Windows rebooting because of an automatically installed update. From a command prompt window, you can obtain the last time the system was rebooted using the systeminfo command. To see just the last reboot time and not all of the other output it provides, you can filter the output with the find command by piping the output of the systeminfo command to the find command. You can check on updates that have been installed using the Windows Management Instrumentation Command-line (WMIC) command wmic qfe list ("qfe" stands for "Quick Fix Engineering"). Since that command can also generate a lot of output for updates on dates you may not be interested in, you can also filter that output with the find command.

[ More Info ]

[/os/windows/PowerShell] permanent link

Fri, Mar 05, 2021 1:38 pm

Obtain Monitor Manufacturer Information Using PowerShell

I wanted to be able to obtain information on a monitor attached to a Windows 10 desktop system, including the manufacturer, model number, serial number, and date of manufacture, from a command-line interface (CLI). One way to do that is by using PowerShell, which Microsoft provides as part of its Windows operating system. You can open a PowerShell window on a Microsoft Windows 10 system by typing PowerShell in the "Type here to search" field at the bottom of the Windows display. You should see the Windows PowerShell app listed as an option you can click on to open a PowerShell window. If you type gwmi WmiMonitorID -Namespace root\wmi at the prompt and hit enter, you will see information similar to the following output displayed.

PS C:\> gwmi WmiMonitorID -Namespace root\wmi


__GENUS                : 2
__CLASS                : WmiMonitorID
__SUPERCLASS           : MSMonitorClass
__DYNASTY              : MSMonitorClass
__RELPATH              : WmiMonitorID.InstanceName="DISPLAY\\HPN360C\\5&2c03a83e&0&UID262_0"
__PROPERTY_COUNT       : 9
__DERIVATION           : {MSMonitorClass}
__SERVER               : YTTERBIUM
__NAMESPACE            : root\wmi
__PATH                 : \\YTTERBIUM\root\wmi:WmiMonitorID.InstanceName="DISPLAY\\HPN360C\\5&2c03a83e&0&UID262_0"
Active                 : True
InstanceName           : DISPLAY\HPN360C\5&2c03a83e&0&UID262_0
ManufacturerName       : {72, 80, 78, 0...}
ProductCodeID          : {51, 54, 48, 67...}
SerialNumberID         : {67, 78, 75, 48...}
UserFriendlyName       : {72, 80, 32, 51...}
UserFriendlyNameLength : 13
WeekOfManufacture      : 12
YearOfManufacture      : 2020
PSComputerName         : YTTERBIUM



PS C:\>

[More Info ]

[/os/windows/PowerShell] permanent link

Sat, Oct 21, 2017 10:13 pm

Using PowerShell to determine the installed version of Windows

You can determine the version of Microsoft Windows installed on a system from a PowerShell prompt using [System.Environment]::OSVersion.Version or (Get-WmiObject -class Win32_OperatingSystem).Caption.

PS C:\Users\Public> [System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      15063  0


PS C:\Users\Public> (Get-WmiObject -class Win32_OperatingSystem).Caption
Microsoft Windows 10 Pro
PS C:\Users\Public> (Get-WmiObject -class Win32_OperatingSystem)


SystemDirectory : C:\WINDOWS\system32
Organization    : Microsoft
BuildNumber     : 15063
RegisteredUser  : Jeanne
SerialNumber    : 00330-80000-00000-AA775
Version         : 10.0.15063



PS C:\Users\Public>

[ More Info ]

[/os/windows/PowerShell] permanent link

Fri, Oct 20, 2017 10:57 pm

Querying disks with the PowerShell Get-Disk cmdlet

You can use the PowerShell Get-Disk cmdlet to query disk drives within or attached to a PC running the Microsoft Windows operating system. E.g.:

PS C:\Users\Public> Get-Disk

Number Friendly Name Serial Number                    HealthStatus         OperationalStatus      Total Size Partition
                                                                                                             Style
------ ------------- -------------                    ------------         -----------------      ---------- ----------
0      ST3320418AS               9VMNNJDN             Healthy              Online                  298.09 GB MBR
4      Generic- C... 058F63626421                     Healthy              No Media                      0 B RAW
6      Generic- M... 058F63626423                     Healthy              No Media                      0 B RAW
3      Generic- S... 058F63626420                     Healthy              No Media                      0 B RAW
5      Generic- S... 058F63626422                     Healthy              No Media                      0 B RAW
1      Lexar USB ... AA58ZF9FJCCALAOA                 Healthy              Online                   14.92 GB MBR
2      WD My Pass... WXP1A27034VH                     Healthy              Online                  931.48 GB GPT


PS C:\Users\Public>

[ More Info ]

[/os/windows/PowerShell] permanent link

Valid HTML 4.01 Transitional

Privacy Policy   Contact

Blosxom logo