Posts

Showing posts from 2018

Get-LoggedinUser and Get-LoggedInUserSID

Gets the username or user SID of a local or remote computer. Function Get-LoggedInUser { <# .SYNOPSIS Gets logged in user on local or remote computers. .NOTES     Author:  Curtis Wright     Email:   curtis (at) cwew.co     Date:    05FEB2018     PSVer:   2.0/3.0/4.0/5.0 #> #Allowing Cmdlet Bindings [CmdletBinding(SupportsShouldProcess=$true)] Param( $Computer = $env:COMPUTERNAME, $domain = $env:userdomain ) Write-Verbose "Computer is $Computer and domain is $domain" #Getting the current Error Action Preference so the script can set it back after completion. $CurrentEA = $ErrorActionPreference Write-Verbose "Current Error action is $CurrentEA" $ErrorActionPreference = "SilentlyContinue" Write-verbose "Attempting to use WMI to get currently logged in user" $ActiveProcesses = Get-WMIObject win32_process -filter 'name="explorer.exe"' -ComputerName $Computer if (($ActiveProcesses.GetType().basetype.na

Get-OfficeVersion

PowerShell function that gets the currently installed office version and returns either the year, the office folder, the registry location, or the number. Updated 4/25/18 to support 64 bit office. Bitness is now a returnable Value Type. Function Get-OfficeVersion { #Allowing Cmdlet Bindings [CmdletBinding(SupportsShouldProcess=$true)] param(   [Parameter(Position=0,Mandatory=$true)]   [Alias("Value","VT")]   [ValidateSet("Office Year", "Office Folder", "Registry Location","Registry Number","Bitness")]   [string]$ValueTypeReturn,     [Parameter(Position=1,Mandatory=$false)]   [Alias("Computer","CN")]   [string]$ComputerName = $env:COMPUTERNAME ) Write-Verbose "Testing connection to $ComputerName" if(Test-Connection -Quiet $ComputerName -Count 1){ Write-Verbose "Connection Successful to $ComputerName" Write-Verbose "Detecting software for $ComputerName&qu

Outlook VBA Macros for Journal Entries

I recently discovered how amazing the Journal function is in Outlook. Primarily, it's great because it has a timer on it that you can use to track your time. It also allows you to categorize each Journal Entry with a type, as well as the categories already in Outlook. I like using this for if someone calls me, there's an entry type for "Phone Call". I'll record what the conversation was about. It automatically creates a new entry at the day and time you create it. If I'm working on a script, there's a Entry Type for "Scripting". I'll record notes on what I'm working on, and my findings/issues I run into. If I'm doing a task, there's one for "Task". All of these are great but I wanted to add a little more automation to it all. I didn't like that I couldn't easily start a new Journal Entry from the E-Mail Home Screen. I had to open the Journal, create a new Entry and then start the timer. Too much to do when so