Author: Matthew Dowst

FilesStorage

Create Test Log Files

# Set number of days, in the past, to create log files for $days = 14 # Set directory to create logs in $directory = "C:\Test\Logs" $i=1 While($i -lt $days){ # Get Date and create log file $date = (Get-Date).AddDays(-$i) $logFile = "u_ex" + ($date.Year).ToString().Substring(2,2) + (($date.Month).ToString().PadLeft(2)).Replace(" ","0") + (($date.Day).ToString().PadLeft(2)).Replace(" ","0") + ".log" $logPath = join-path $directory $logFile $date |...
RegistrySystems

Query Remote Registry for Key Value

# Open the specified Registry Hive on a remote machine specified. LocalMachine = HKLM / CurrentUser = HKCU $computer = 'localhost' $w32reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$computer) # Open the specific registry key (exclude hive from path) $keypath = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI' $SubKey = $w32reg.OpenSubKey($keypath) # Return data for a specific value $SubKey.GetValue('LastLoggedOnUser') # List all values $SubKey.GetValueNames() # Return data for all values to...
Security

Expand Shortened URLs

# Create Web Request Object $request = [System.Net.WebRequest]::Create($url) # Make it think we are using Edge on Windows 10. Required for some shorteners. $request.UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246' # Get the expanded URL $request.GetResponse().ResponseUri.AbsoluteUri
PerformanceSystems

Determine if Hyper-Threading is enabled

Function Check-HyperThreading($ComputerName){ # Get the Processor information for the computer $Proc = Get-WMIObject Win32_Processor -ComputerName $ComputerName # Determine if hyper-threading is enabled $CPUCount = @($Proc).count $NumberOfLogicalProcessors = $($Proc | measure-object -Property NumberOfLogicalProcessors -sum).Sum $NumberOfCores = $($Proc | measure-object -Property NumberOfCores -sum).Sum # Output the results as a PS object [pscustomobject]@{ Computer = $ComputerName CPUCount = $CPUCount NumberOfLogicalProcessors = $NumberOfLogicalProcessors NumberOfCores...
RegexStrings

Find IPv6 Address in String

[Regex]::Matches($string, '(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))').Value