====== PowerShell Commands ====== ====== Change Network Location to Public or Private with PowerShell ====== 2023-09-30 On Windows 10/11 and Windows Server 2022/2019/2016, you can manage network connection locations from PowerShell. Open the elevated PowerShell console. List Windows network interfaces and the network profiles applied to them: To change the network for the network adapter with index 8 to Private, run the command: Set-NetConnectionProfile -InterfaceIndex 8 -NetworkCategory Private Check that the network profile has changed: Get-NetConnectionProfile -InterfaceIndex 8 From ====== Backup SQL ====== Backup-SqlDatabase -ServerInstance Machine096\TSSERVICES -Database IsetoServices -BackupAction Database -BackupFile "F:\Program Files\Microsoft SQL Server\MSSQL14.TSSERVICES\MSSQL\Backup\Backup_Mcie96\IsetoServices.bak" powershell.exe -executionpolicy bypass -file "C:\Users\Public\Downloads\SQLIsetoServicesBackup Script\BackupIsetoServices.ps1" Get-NetworkStatistics | Format-Table > c:\temp\GNS.txt Get-NetworkStatistics - netstat -bano with filtering This code borrows from Shay Levy's Get-NetworkStatistics function From ====== 10 PowerShell cmdlets to speed network troubleshooting ====== From 1. Ping devices locally or remotely Test-NetConnection -ComputerName "Hostname or IP" the command as typed above and the computer will essentially perform a ping to determine if network 2. Check connectivity based on port or service Test-NetConnection "Hostname" -Port # Another feature of the Test-NetConnection cmdlet is the ability to test the connectivity between the local 3. Trace route communications Test-NetConnection "Hostname" -traceroute 4. Obtain IP configuration details Get-NetIPConfiguration Similar to the ipconfig command, the Get-NetIPConfiguration cmdlet provides a holistic 5. Perform DNS lookups Resolve-DnsName -Name "Hostname" By appending the "-server" switch, followed by a DNS server's IP address, IT can perform a DNS resolve request against a specific server to verify resolution is working properly. 6. View current TCP connections Get-NetTCPConnection Just like netstat before it, 7. View & Set DNS information Get-DnsClient Set-DnsClientServer Address This cmdlet lets you check the DNS client information for a device. It will indicate what DNS server(s) are being used by the device to perform address resolutions as The Set-DnsClientServerAddress cmdlet allows for specified DNS servers to be added to the network 8. Flush DNS cache Clear-DnsClientCache The DNS cache helps keep often used DNS resolution records stored locally on a device, 9. Release and renew DHCP leases Invoke-Command -ComputerName -ScriptBlock {ipconfig /release} Invoke-Command -ComputerName -ScriptBlock {ipconfig /renew} there is no direct way to release/renew DHCP leases without referencing another cmdlet first, then piping 10. Disable and enable network adapters Disable-NetAdapter -Name "Adapter Name" Enable-NetAdapter -Name "Adapter Name" From