Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function Get-ViSession {
- <#
- .SYNOPSIS
- Lists vCenter Sessions.
- .DESCRIPTION
- Lists all connected vCenter Sessions.
- .EXAMPLE
- PS C:\> Get-VISession
- .EXAMPLE
- PS C:\> Get-VISession | Where { $_.IdleMinutes -gt 5 }
- .AUTHOR
- Alan Renouf
- .SOURCE
- https://blogs.vmware.com/PowerCLI/2011/09/list-and-disconnect-vcenter-sessions.html
- .OBTAINED
- 12/15/2015
- .EDITED
- Ryan Simeone - 12/15/2015
- #>
- If(!$DefaultViserver){
- Try{
- Connect-VIServer -Server <server> -ErrorAction Stop | Out-Null
- }
- Catch{
- Write-Host "Unable to connect to <server>"
- Break
- }
- }
- $SessionMgr = Get-View $DefaultViserver.ExtensionData.Client.ServiceContent.SessionManager
- $AllSessions = @()
- ForEach($obj in $SessionMgr.SessionList){
- $properties = @{Key = $obj.Key
- UserName = $obj.UserName
- FullName = $obj.FullName
- LoginTime = ($obj.LoginTime).ToLocalTime()
- LastActiveTime = ($obj.LastActiveTime).ToLocalTime()
- UserAgent = $obj.UserAgent}
- $Session = New-Object -TypeName PSObject -Property $properties
- If ($obj.Key -eq $SessionMgr.CurrentSession.Key) {
- $Session | Add-Member -MemberType NoteProperty -Name Status -Value “Current Session”
- }
- Else {
- $Session | Add-Member -MemberType NoteProperty -Name Status -Value “Idle”
- }
- $Session | Add-Member -MemberType NoteProperty -Name IdleMinutes -Value ([Math]::Round(((Get-Date) – ($obj.LastActiveTime).ToLocalTime()).TotalMinutes))
- $AllSessions += $Session
- }
- $AllSessions
- }
Advertisement
Add Comment
Please, Sign In to add comment