ptk-etienne
Goto Top

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.

Content-Key: 310851

Url: https://administrator.de/contentid/310851

Printed on: April 23, 2024 at 07:04 o'clock

Member: DerWoWusste
Solution DerWoWusste Jul 26, 2016 at 11:27:21 (UTC)
Goto Top
Hi.

Weise die RemoteApp einer Gruppe zu, die du entweder gleich mit allen Vertretern befüllst, oder wo Du eben die Vertreter bei Bedarf nachschiebst.
Die Mühe, spontan etwas zu ändern, wirst Du nicht umgehen können.
Member: ptk-etienne
ptk-etienne Jul 26, 2016 at 14:52:08 (UTC)
Goto Top
Also ist es nicht möglich, zum Beispiel einer Sammlung die Anweisung zu geben, nur eine bestimmte Anzahl gleichzeitiger Benutzer zuzulassen?
Member: DerWoWusste
Solution DerWoWusste Jul 26, 2016 at 15:01:16 (UTC)
Goto Top
Nein, nicht möglich.
Member: ptk-etienne
ptk-etienne Jul 26, 2016 at 15:59:00 (UTC)
Goto Top
Ich danke Dir - auch wenn die Antwort eine andere ist, als ich erhoffte. ;)
Member: colinardo
colinardo Jul 26, 2016 updated at 18:36:25 (UTC)
Goto Top
Zitat von @DerWoWusste:
Nein, nicht möglich.
Mit einem Tasktrigger und einem Powershell-Skript das die aktuellen Usersessions prüft, wäre das schon möglich face-wink

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
}
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
Member: DerWoWusste
DerWoWusste Jul 26, 2016 at 16:40:02 (UTC)
Goto Top
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.