2012R2 - TS-Sammlung - RemoteApp nur für einen Nutzer gleichzeitig zulassen
Hallo,
der Titel sagt es eigentlich schon aus. Ich habe einen normalen Terminalserver (Win 2012R2) aufgesetzt und möchte, dass bestimmte Remote-Programme nur immer von einem Nutzer einer Gruppe gleichzeitig gestartet werden können. Hintergrund ist, dass wir bestimmte Abrechnungstools nutzen, die aufgrund ihrer Funktion nur von einer Quelle aus anweisen dürfen. TS-fähig sind die Tools. Nur einen Nutzer als Rechteinhaber zuzulassen ist auch keine Lösung, da bei Urlaub/Krankheit/Abwesenheit eine zugelassene Vertretung übernehmen muss, was gerade aus letztem Punkt heraus recht häufig passiert.
der Titel sagt es eigentlich schon aus. Ich habe einen normalen Terminalserver (Win 2012R2) aufgesetzt und möchte, dass bestimmte Remote-Programme nur immer von einem Nutzer einer Gruppe gleichzeitig gestartet werden können. Hintergrund ist, dass wir bestimmte Abrechnungstools nutzen, die aufgrund ihrer Funktion nur von einer Quelle aus anweisen dürfen. TS-fähig sind die Tools. Nur einen Nutzer als Rechteinhaber zuzulassen ist auch keine Lösung, da bei Urlaub/Krankheit/Abwesenheit eine zugelassene Vertretung übernehmen muss, was gerade aus letztem Punkt heraus recht häufig passiert.
Please also mark the comments that contributed to the solution of the article
Content-Key: 310851
Url: https://administrator.de/contentid/310851
Printed on: April 23, 2024 at 07:04 o'clock
6 Comments
Latest comment
Mit einem Tasktrigger und einem Powershell-Skript das die aktuellen Usersessions prüft, wäre das schon möglich
So mal als Schnellschuss als Skript in einem RD-Logon-Trigger müsste das hier funktionieren:
Der User zweite User kann die App dann zwar noch kurz starten erhält dann aber die Meldung das User XYZ schon damit arbeitet und die Session wird dann automatisch beendet.
Grüße Uwe
So mal als Schnellschuss als Skript in einem RD-Logon-Trigger müsste das hier funktionieren:
Import-Module RemoteDesktop
# ---------
$group = "GruppeXYZ"
$collection = "MySuperDuperCompanyCollection"
$max_count = 1
# ----------
$sessions = Get-RDUserSession -CollectionName $collection | ?{$_.SessionState -eq "STATE_ACTIVE"} | sort CreateTime
if($sessions.Count -gt $max_count){
# send user a message
$sessions | select -skip $maxcount | Send-RDUserMessage -MessageTitle "Session Limit exceeded" -MessageBody "User '$($sessions.Username)' is already working with the app, logging off now!"
# Give time to see the message
sleep 2
# logoff users
$sessions | select -skip $max_count | Invoke-RDUserLogoff -Force
}
Grüße Uwe
Hi Uwe.
Mal sehen, der Task würde also anspringen, wenn die RemoteApp gestartet würde (z.B. "Connect to user session" als Trigger, sofern der Nutzer nur diese eine App starten darf, oder per NTFS-Überwachung auf die .exe) und dann als Aktion die RemoteApp entfernen bzw. niemanden als zugriffsberechtigt eintragen über set-rdremoteapp oder remove-rdremopteapp. Ein weiterer Task, getriggert beim Abmelden oder ähnlichem, würde diese Beschränkungen dann wieder aufheben. Ja, das wird gehen.
Mal sehen, der Task würde also anspringen, wenn die RemoteApp gestartet würde (z.B. "Connect to user session" als Trigger, sofern der Nutzer nur diese eine App starten darf, oder per NTFS-Überwachung auf die .exe) und dann als Aktion die RemoteApp entfernen bzw. niemanden als zugriffsberechtigt eintragen über set-rdremoteapp oder remove-rdremopteapp. Ein weiterer Task, getriggert beim Abmelden oder ähnlichem, würde diese Beschränkungen dann wieder aufheben. Ja, das wird gehen.