Czy usługi pulpitu zdalnego mogą być wdrażane i administrowane tylko przez PowerShell, bez domeny w systemie Windows Server 2012 i 2012 R2?

19

System Windows Server 2008 R2 zezwalał na wdrażanie serwera terminali (usług pulpitu zdalnego) bez domeny i bez nalegania na domeny. Było to bardzo przydatne, szczególnie w przypadku autonomicznych wdrożeń wirtualnych lub chmurowych serwera zarządzanego zdalnie dla zdalnego klienta, który nie potrzebuje ani nie chce żadnych funkcji ActiveDirectory ani Domeny.

Stało się to coraz trudniejsze, ponieważ Microsoft coraz bardziej ogranicza swoje technologie w każdej wersji systemu Windows. W systemie Windows Server 2012 konfiguracja licencjonowania usług pulpitu zdalnego jest trudniejsza, gdy nie znajduje się w domenie, ale nadal jest możliwa. W systemie Windows Server 2012 R2 (przynajmniej w wersji zapoznawczej) bariery są teraz poważne:

  1. Kreator dodawania / usuwania ról i funkcji w systemie Windows Server 2012 R2 ma specjalny tryb wdrażania RDS, który ma regułę, która mówi, że jeśli nie jesteś w domenie, której nie możesz wdrożyć. Mówi ci, aby najpierw utworzyć domenę lub do niej dołączyć. Jest to oczywiście sprzeczne z faktem, że kontroler domeny Active Directory nie powinien być tym samym komputerem, co komputer serwera terminali. Tak więc technologia Microsoftu to nie tyle system operacyjny w chmurze, co klaster niechcianych węzłów, potrzebny do obsługi jednej maszyny, którą faktycznie chcę wdrożyć. Jest to obrzydliwe, dlatego próbuję znaleźć obejście.

  2. Jeśli jednak pominiesz tego kreatora i po prostu zaznaczysz pola wyboru w głównym kreatorze Ról / Funkcji, możesz wdrożyć funkcje, ale interfejs użytkownika nie jest w stanie je skonfigurować, a po powrocie do strony konfiguracji RDS w kreatorze ról , pojawia się komunikat informujący, że nie możesz administrować systemem usług pulpitu zdalnego, gdy jesteś zalogowany jako administrator komputera lokalnego, ponieważ chociaż masz wszystkie uprawnienia administratora, jakie możesz mieć (w systemie opartym na grupie roboczej), interfejs użytkownika konfiguracji RDS będzie nie akceptuj tych poświadczeń i kontynuuj.

Moje pytanie w skrócie brzmi: czy nadal mogę w jakiś sposób uzyskać następujący wynik końcowy:

  • Muszę pozwolić 10-20 użytkownikom na system na sesję RDS (TS).
  • Nie potrzebuję żadnych fantazyjnych opcji RDS, chyba że Microsoft w jakiś sposób zależy od tych funkcji. Uważam, że potrzebuję „Hosta sesji RDS”, ponieważ jest to cecha „serwera terminali”. Microsoft twierdzi, że jest to „pełny pulpit systemu Windows dla klienta usług pulpitu zdalnego.
  • Muszę skonfigurować licencje, aby okres karencji nie wygasał, pozostawiając mój RDS niefunkcjonalny, więc prawdopodobnie oznacza to, że potrzebuję sposobu na skonfigurowanie licencji TS CAL.

Jeśli wszystko powyższe można technicznie zrobić przy rozsądnym użyciu programu PowerShell, jestem gotowy rozważyć nawet opracowanie wszystkich skryptów PowerShell, które musiałbym zrobić powyżej. Nie proszę, żeby ktoś mi to napisał. Pytam, czy ktoś wie, czy istnieje przeszkoda techniczna w tym, co chcę zrobić powyżej, inne niż celowe sparaliżowanie interfejsu użytkownika 2012 R2 dla użytkowników grupy roboczej? Czy wszystkie podstawowe technologie nadal działałyby, jeśli manipuluję nimi i kontroluję je za pomocą skryptu PowerShell?

Oczywiście jedno słowo „tak” lub „nie” nie jest dla nikogo przydatne, więc pytanie brzmi „tak” lub „nie” i dlaczego? Jeśli odpowiedź brzmi „tak”, to jak.

Warren P.
źródło
Wygląda na to, że Microsoft dołożył wszelkich starań, aby było to niemożliwe, a odpowiedź brzmi NIE, microsoft powiedział: „Pieprz się, ludzie”.
Warren P
Czy otrzymałeś wiadomość od MSFT, że nie jest to możliwe / wykonalne?
Mathias R. Jessen
czy potrzebujesz pełnych usług pulpitu zdalnego, czy sam pulpit zdalny jest wystarczający? tam jest domyślnie 1 lub 2 limitu użytkownik lub coś, ale widziałem sposobów stosując albo zasad grupy lub hm modyfikowany biblioteki, które umożliwiają bardziej .. nie wiem, czy one działają na 2012 ... czy sugestia jest nawet odpowiedni w danej sytuacji ..
Jon Kloske
@JonKloske technicznie ten limit 2 użytkowników jest przeznaczony dla administratorów , a nie dla użytkowników
MDMoore313
@ MDMoore313 - referencja lub tak się nie stało :) technet.microsoft.com/en-us/library/cc753380.aspx i milion innych linków - wszystkie bez roli RD Session Host, 2 to maksymalny zdalny limit. Odwołaj się do czegoś, co popiera twoje roszczenie lub usuń je, aby uniknąć zamieszania!
Jon Kloske

Odpowiedzi:

10

Znalazłem się w tym samym scenariuszu co ty. Wdrażanie Pulpitu zdalnego na samodzielnym serwerze Server 2012 jest dość trudne, ponieważ faceci z Microsoft nie pozwalają na uruchamianie tego w sieci bez domeny, a jeśli tak, nie możesz zarządzać wszystkimi ustawieniami.

Możesz więc zainstalować pudełko oparte na grupie roboczej i uruchomić na nim role pulpitu zdalnego. Musimy również zainstalować funkcje licencjonowania usług pulpitu zdalnego na tym samym komputerze. Ale kiedyś w tym momencie, nawet jeśli na serwerze są zainstalowane odpowiednie licencje CAL usług RDS, po zalogowaniu się użytkownik otrzymuje komunikat, że okres próbny jest włączony.

W końcu udało mi się go uruchomić, przynajmniej coś w rodzaju starych dobrych usług terminalowych, które znaliśmy. Działa to dla mnie na dwóch komputerach produkcyjnych małych klientów, którzy potrzebują RDS, ale nie mogą sobie pozwolić na posiadanie dwóch serwerów w swojej sieci.

No to ruszamy:

  1. Zainstaluj usługi roli Remote Desktop Licensing i Host sesji usług pulpitu zdalnego, wykonując następujące czynności:

    • Otwórz Menedżera serwera
    • Kliknij Zarządzaj i wybierz Dodaj role i funkcje
    • Wybierz instalację opartą na rolach lub na funkcjach
    • W obszarze Usługi pulpitu zdalnego wybierz Usługi roli Licencjonowanie pulpitu zdalnego i Usługi hosta sesji pulpitu zdalnego.
    • Kontynuuj instalację
  2. Dodaj serwer licencji do grupy serwerów licencji serwera terminali i ponownie uruchom usługę pulpitu zdalnego (możesz użyć licmgr.exe)

  3. Dodaj licencje do serwera licencji.

  4. Skonfiguruj rolę Host sesji usług pulpitu zdalnego za pomocą, aby używać lokalnego serwera licencjonowania usług pulpitu zdalnego. Wykonaj następujące kroki:

    • Otwórz PowerShell jako administrator
    • Wpisz następujące polecenie w wierszu polecenia PS i naciśnij klawisz Enter:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

Uruchom następujące polecenie, aby ustawić tryb licencjonowania (Uwaga: wartość = 2 dla urządzenia, wartość = 4 dla użytkownika, używamy dla użytkownika)

$obj.ChangeMode(4)

Uruchom następujące polecenie, aby zamienić nazwę komputera na Serwer licencji ( mylicenseserverto nazwa twojego serwera):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

Uruchom następujące polecenie, aby sprawdzić ustawienia skonfigurowane przy użyciu wyżej wymienionych kroków:

$obj.GetSpecifiedLicenseServerList()

Powinieneś zobaczyć nazwę serwera na wyjściu.

Po wykonaniu tej czynności uruchom ponownie system i zaloguj się z dowolnym użytkownikiem (jeśli korzystasz z grupy roboczej, wiesz, że użytkownicy muszą być częścią Remote Desktop Users), a komunikat o okresie próbnym zniknie.

Źródło całego tego bałaganu: http://support.microsoft.com/kb/2833839

Zarządzanie za pomocą Powershell

Jest kilka rzeczy, którymi możesz zarządzać Powershell. Aby zobaczyć polecenia, spróbuj:

import-module RemoteDesktop get-command -module RemoteDesktop

Istnieje lista poleceń, które można wykonać za pomocą programu Powershell w celu zarządzania urządzeniem. Jednak próbowałem kilku, ale niektóre z nich wymagają zainstalowania dodatkowych funkcji, których nie można wdrożyć w scenariuszu, o którym mówimy.

Brzydki sposób

Jeśli żadne z powyższych nie działa, istnieje sposób na zresetowanie okresu karencji do początkowych 120 dni. Oczywiście nie polecam tego robić, ponieważ użytkownik będzie nadal zauważał wiadomość. Oczywiście musisz kupić odpowiednie licencje.

Aby zresetować licznik, wystarczy usunąć ten klucz rejestru:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

Oczywiście potrzebujesz do tego dodatkowych uprawnień, wykonywanie regeditjako administrator nie będzie działać. Spróbuj tego:

  • Uzyskaj PSEXEC
  • Uruchom cmd jako administrator
  • biegać psexec -s -i regedit.exe
  • usuń żądany klucz
  • restart

Mam nadzieję, że niektóre z nich działają dla Ciebie. Jeśli robisz postępy w Powershell i RDS, daj nam znać.

ojovirtual
źródło
Zauważyłem, że w Win Server 2012 R2 dokładają wszelkich starań, aby zablokować ci dostęp do tego klucza. Dzięki za wskazówkę PSEXEC!
Warren P
1
Myślę, że lepszym rozwiązaniem jest po prostu zaprzestanie prób korzystania z produktów Microsoft, ponieważ starają się powstrzymać małe firmy (które płacą za swoje produkty) od korzystania z produktów Microsoft do osiągania tego, czego chcą, do prowadzenia swoich firm. Najwyraźniej Microsoft dba tylko o wdrożenia w dużych przedsiębiorstwach, w których integracja z Active Directory i systemy licencjonowania zbiorowego znacznie ułatwiają pobieranie dodatkowych opłat za funkcjonalność Serwera terminali.
Warren P
Jak „dodać serwer licencji do grupy serwerów licencji serwera terminali”? Nie widzę żadnego sposobu, aby to zrobić w ramach licmgr.exe.
Shackrock
6

Gdy tworzyłem środowisko w laboratorium, aby wypróbować to (proste wdrożenie RDS bez domeny), znalazłem odpowiedź na twoje pytanie, chociaż nie jest to pytanie, którego chcesz usłyszeć.

RDS w [Server 2012 i 2012 R2] wymaga dodania wszystkich swoich serwerów do domeny . Według menedżera programu Microsoft w zespole wirtualizacji pulpitu zdalnego, który napisał połączony artykuł na blogu MSDN, Konfigurowanie nowego wdrożenia usług pulpitu zdalnego za pomocą programu Windows PowerShell.

Przykro mi, że nie była to odpowiedź, której chciałeś, ale wydaje mi się, że jest dość autorytatywna. Nie możesz robić tego, co chcesz, ponieważ Microsoft zdecydował, aby członkostwo w domenie było wymogiem technicznym dla serwerów RDS w Server 2012 i 2012 R2.

Beznadziejny
źródło
To była palantna myśl dla Microsoft. Moje czytanie ma również tendencję do podążania za tobą; Microsoft zamierzał połączyć kilka systemów „pozyskiwania gotówki od klientów” (licencjonowanie RDS CAL i centralna licencjonowanie w oparciu o domenę). Ci, którzy chcą korzystać z autonomicznej grupy roboczej Serwery terminali, pozostają na wysokich i suchych pozycjach.
Warren P,
1

Podczas testowania stwierdziłem, że ważne jest, aby mieć co najmniej 1 kartę sieciową skonfigurowaną z włączonym IPv6. Było to wymagane jako sprzężenie zwrotne, aby serwer licencji RDS rozmawiał ze sobą, próbując to rozwiązać za pośrednictwem protokołu IPv6 (jak widać w pingach). Miałem wyłączoną IPv6 na obu kartach sieciowych, co spowodowało, że serwer nie zapętlił się poprawnie.

JDub
źródło