Random PowerShell/PowerCLI Snippets
13 Mar 2020Cleaning out a few browser tabs, which of course means putting things where I will remember them. This time, that is a bunch of random PowerShell and PowerCLI I’ve been using.
The Snippets
The following sections will state if the snippet is either [PowerShell] or [PowerCLI] and include a link to the site where I found said snippet. The PowerCLI snippets assume a connection to either vCenter or ESXi.
[PowerCLI] Get IP Address of VM
(Get-VM -Name test01).Guest.IPAddress
[PowerShell] Create an Empty File (touch
)
# New file
New-Item -ItemType file example.txt
# Update timestamp on a file
(gci example.txt).LastWriteTime = Get-Date
https://superuser.com/a/540935
[PowerCLI] Rescan All HBAs
# Rescans all HBAs on all hosts
Get-VMHost | Get-VMHostStorage -RescanAllHba
# Rescans all HBAs in a given cluster
Get-Cluster -Name "ProVMware" | Get-VMHost | Get-VMHostStorage -RescanAllHba
Note: The fact that I wrote this post about a decade ago still blows my mind.
[PowerShell] Measure Execution Time (time 'someCommand'
)
Measure-Command { Get-VMHost | GetVMHostStorage -RescanAllHba }
[PowerShell] Windows Event Logs
Get-EventLog -LogName Security -EntryType Error -Newest 5
[PowerShell] Disable Windows Defender Firewall
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
[PowerShell] List / Add Windows Defender Firewall Rules
# List the rules. This produces A LOT of output
Get-NetFirewallRule
# Disables outbound telnet
New-NetFirewallRule -DisplayName "Block Outbound Telnet" -Direction Outbound -Program %SystemRoot%\System32\tlntsvr.exe –Protocol TCP –LocalPort 23 -Action Block –PolicyStore domain.contoso.com\gpo_name