public/Get-RemoteSession.ps1
function Get-RemoteSession { [CmdletBinding()] Param ( [string[]] $ComputerName, $UserName, [System.Management.Automation.PSCredential] $Credential ) $scriptblock = { Write-Verbose "$env:Computername - CONNECTED!" $Users = query user $Users = $Users | ForEach-Object { (($_.trim() -replace ">" -replace "(?m)^([A-Za-z0-9-._]{3,20})\s+(\d+\s+\w+)", '$1 none $2' -replace "\s{2,}", "," -replace "none", $null)) } | ConvertFrom-Csv return $users }# end script block #Execute Scriptblock on Computername(s) with set parameters. $params = @{ ScriptBlock = $scriptblock } if ($ComputerName){ $params['ComputerName'] = $ComputerName } if ($Credential){ $params['Credential'] = $Credential } Invoke-Command @params } |