Question
Recette : TerminalServices
- yoman26
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 9 ans 5 mois #17657
par yoman26
Recette : TerminalServices a été créé par yoman26
Bonjour 
Je partage ce code source qui permet de vérifier les paramètres de session TSE sur les serveurs.
Le code est loin d'être parfait, mais il fonctionne.
Il faudrait rajouter les catch/try/finally mais je ne sais pas comment les insérer sur ce type de fonction
N'hésitez pas à faire évoluer cette fonction
[code:1]Function Get_TerminalServices{
$Query_WMI_OperatingSystem = ((Get-WmiObject -Namespace \"Root\CIMv2\" -Query \"SELECT * FROM Win32_OperatingSystem\"«»).Name)
If(($Query_WMI_OperatingSystem -like '*2008*') -or ($Query_WMI_OperatingSystem -like '*7*') -or ($Query_WMI_OperatingSystem -like '*VISTA*')){
$Query_WMI = Get-WmiObject -Namespace \"Root\CIMv2\TerminalServices\" -Query \"SELECT * FROM Win32_TSSessionSetting WHERE TerminalName='RDP-Tcp'\" -Authentication \"PacketPrivacy\"
Foreach ($ObjItem in $Query_WMI){
If($ObjItem.DisconnectedSessionLimit -eq \"1800000\"«»){
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.ActiveSessionLimit -eq \"0\"«»){
Write-Host (\"Active session limit`t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Active session limit`t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.IdleSessionLimit -eq \"1800000\"«»){
Write-Host (\"Idle session limit`t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Idle session limit`t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
}
}
ElseIf(($Query_WMI_OperatingSystem -like '*2003*') -or ($Query_WMI_OperatingSystem -like '*XP*')){
$Query_WMI = Get-WmiObject -Namespace \"Root\CIMv2\" -Query \"SELECT * FROM Win32_TSSessionSetting WHERE TerminalName='RDP-Tcp'\" -Authentication \"PacketPrivacy\"
Foreach ($ObjItem in $Query_WMI){
If($ObjItem.DisconnectedSessionLimit -eq \"1800000\"«»){
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.ActiveSessionLimit -eq \"0\"«»){
Write-Host (\"Active session limit `t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Active session limit `t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.IdleSessionLimit -eq \"1800000\"«»){
Write-Host (\"Idle session limit `t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Idle session limit `t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
}
}
Else{
Write-Host \"`t`tChecking the operating system is not available in the source code\" -ForeGround \"Yellow\"
}
}
Get_TerminalServices[/code:1]

Je partage ce code source qui permet de vérifier les paramètres de session TSE sur les serveurs.
Le code est loin d'être parfait, mais il fonctionne.
Il faudrait rajouter les catch/try/finally mais je ne sais pas comment les insérer sur ce type de fonction

N'hésitez pas à faire évoluer cette fonction

[code:1]Function Get_TerminalServices{
$Query_WMI_OperatingSystem = ((Get-WmiObject -Namespace \"Root\CIMv2\" -Query \"SELECT * FROM Win32_OperatingSystem\"«»).Name)
If(($Query_WMI_OperatingSystem -like '*2008*') -or ($Query_WMI_OperatingSystem -like '*7*') -or ($Query_WMI_OperatingSystem -like '*VISTA*')){
$Query_WMI = Get-WmiObject -Namespace \"Root\CIMv2\TerminalServices\" -Query \"SELECT * FROM Win32_TSSessionSetting WHERE TerminalName='RDP-Tcp'\" -Authentication \"PacketPrivacy\"
Foreach ($ObjItem in $Query_WMI){
If($ObjItem.DisconnectedSessionLimit -eq \"1800000\"«»){
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.ActiveSessionLimit -eq \"0\"«»){
Write-Host (\"Active session limit`t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Active session limit`t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.IdleSessionLimit -eq \"1800000\"«»){
Write-Host (\"Idle session limit`t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Idle session limit`t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
}
}
ElseIf(($Query_WMI_OperatingSystem -like '*2003*') -or ($Query_WMI_OperatingSystem -like '*XP*')){
$Query_WMI = Get-WmiObject -Namespace \"Root\CIMv2\" -Query \"SELECT * FROM Win32_TSSessionSetting WHERE TerminalName='RDP-Tcp'\" -Authentication \"PacketPrivacy\"
Foreach ($ObjItem in $Query_WMI){
If($ObjItem.DisconnectedSessionLimit -eq \"1800000\"«»){
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"End of disconnected session`t: \"+($ObjItem.DisconnectedSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.ActiveSessionLimit -eq \"0\"«»){
Write-Host (\"Active session limit `t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Active session limit `t`t: \"+($ObjItem.ActiveSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
If($ObjItem.IdleSessionLimit -eq \"1800000\"«»){
Write-Host (\"Idle session limit `t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Green\"
}
Else{
Write-Host (\"Idle session limit `t`t: \"+($ObjItem.IdleSessionLimit/60000)+\"min\"«») -Foreground \"Red\"
}
}
}
Else{
Write-Host \"`t`tChecking the operating system is not available in the source code\" -ForeGround \"Yellow\"
}
}
Get_TerminalServices[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.062 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Discussions générales
- Recette : TerminalServices