VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE
Projekt
Podpora vzdálené instalace pro počítače v síti VOŠIS
Zadavatel projektu: Ing. D. Klimánek, VOŠIS Jiří Navrátil, vedoucí práce Eliška Křížová, zástupce vedoucího
1.1.2011
Členové týmu: Ondra Kasák, Zuzana Šislerová, Stanislav Šnábl, Tomáš Táborský
Formulace zadání:
Úvod
Inženýr Klimánek nám zadal projekt, který mu má ulehčit vzdálenou podporu všech pracovních stanic v síti VOŠIS. Podle jeho představy by měly být využity nové technologie jako programy PS Tools nebo Power Shell. Pro úspěšné vyzkoušení aplikace těchto softwarů nám zadal požadavek nainstalovat skrze ně program RealVNC. Dalším úkolem je skrze Power Shell nasdílet složku a naučit se zapínat a vypínat hlavní administrátorský účet. Z celého řešení daného projektu musíme vytvořit písemnou dokumentaci.
Harmonogram projektu:
UseCase diagram
Účastníci: Správce sítě Vstupní podmínky: Správce sítě je ze svého počítače přihlášen na vzdáleném počítači v síti Popis: Správce sítě má možnost instalovat, spouštět a odinstalovat programy na jiném počítači. Po spuštění softwaru jej může nadále používat a pracovat s ním. Dále může extrahovat a kopírovat soubory či provádět jejich editaci, jejíž součástí je soubory mazat a vkládat. Správce sítě nastaví práva uživatelů a tím omezí jejich možnosti v práci s počítačem.
Technická dokumentace řešení projektu
1.
Základní informace o produktech
1.1.
Operační systém
Vzhledem k rozšířenosti Windows 7 jsme se rozhodli řešit tento projekt v tomto operačním systému pro 32 bitovou verzi.
1.2.
Používaný software
1.2.1
PowerShell 2.0
Windows PowerShell je rozšiřitelný shell se skriptovacím jazykem od společnosti Microsoft. Produkt je založen na platformě .NET Framework. Je volitelnou součástí systému Windows XP SP3, Windows Server 2003, Windows Vista SP1 a Windows Server 2008 a automaticky je nainstalovaná na Windows 7. Funguje jako příkazový řádek, ale na rozdíl od něj dokáže přistupovat nejen k souborovému systému, ale také například k registrům systému, uložišti certifikátů a dalším, což umožňuje systém providerů, které tuto funkcionalitu přidávají. (Wikipedie) 1.2.2
RealVNC
RealVNC slouží pro vzdálenou správu počítače. Usnadňuje kompletní ovládání počítačů v síti LAN na dálku. Vhodný je tedy zejména pro správce počítačové sítě. Tento program se skládá z prohlížeče, na kterém lze sledovat a ovládat vzdálené počítače, a samotné aplikace běžící na sledovaných počítačích. To znamená, že za pomocí RealVNC je možno převzít kompletně kontrolu nad vzdáleným počítačem. (Zadarmo.cz)
2.
Technická dokumentace
2.1.
Nastavení Windows pro první připojení PC v síti
2.1.1
Nastavení domácí/firemní sítě
Prvním krokem je nastavení sítě na domácí/firemní síť. V případě, že síť bude veřejná, nespustí se Windows Remote Management, který je důležitý pro následné připojení k všem počítačům. Popis pro spuštění je následující: Start/Ovládací panely/ Síť a internet/Domácí skupina/odkaz „Co je síťové umístění?“. Zde vybereme potřebné umístění pro Síť. 2.1.2
Spuštění Windows Remote Management (WinRM)
Nejprve je nutné spustit příkazový řádek jako „Správce“. Cesta k tomuto kroku je následující: Start/Všechny programy/Příslušenství/Příkazový řádek. Na tento řádek klikneme pravým tlačítkem myši a zvolíme Spustit jako správce. Na obrázku č. 1 a 2. lze vidět sled příkazů pro spuštění PowerShell a WinRM (příkaz je zvýrazněn žlutou barvou).
Obrázek č. 1
Obrázek č. 2
V PowerShell se musíme zadat příkaz enable-psremoting, musí se odsouhlasit (Yes), že opravdu chceme danou službu spustit. Ekvivalentní příkaz je cmdlet Set-WSManQuickConfig, který nakonfiguruje počítač pro příjem Windows PowerShell vzdálené příkazy odesílané pomocí webových služeb pro Management (WS Management) technologie. Cmdlet provádí následující: (1) (2) (3) (4)
Kontroluje, zda WinRM služba běží. Pokud WinRM služba není spuštěna, spustí se. Nastaví spouštění na „automaticky“ Automaticky se přidá výjimka do Firewallu v domácí nebo firemní síti. Vytvoří „posluchače“, který přijímá žádosti na libovolnou adresu IP ze sítě. Defaultně je „posluchač“ HTTP.
Dále musíme upravit TrustedHosts, což je seznam serverů, na které lze následně přistupovat (tím prohlašujeme, že jsou bezpečné a na základě toho získáme povolení k přístupu). Příkazem „cd wsman::localhost\client“ se přesuneme do lokace, kde lze změnit položku TrustedHosts a nastavíme ji na „*“ (tj. libovolná hodnota). Vše je znázorněno na obrázku č. 3 a 4. Obrázek č. 3 a 4
2.2.
Postup pro nakopírování a instalaci programu
2.2.1
Připojení ke vzdálenému počítači
K připojení ke vzdálenému počítači využíváme příkazy: • • •
New-PSsession [název pc/IP adresa] o Vytvoří připojení ke vzdálenému počítači Get-PSsession [nazev pocitace/ip/cislo session] o Vypíše seznam připojení (session) Enter-PSsession o Vstoupí do připojení k počítači – odpovídá příkazovému řádku na vzdáleném PC
• •
Exit/Exit-PSsession o Odpojení od vzdáleného PC, ale ponechá aktivní připojení (session) Remove-PSsession o Ukončí připojení (session) Obrázek č. 5.
Na obrázku č. 5. je vidět podrobně připojení. Nejprve vytvoříme připojení pomocí NewPSsession. Tento příkaz nové připojení vytvoří, ale nevstoupí do tohoto připojení. Máme-li více aktivních spojení, je dobré využít příkaz Get-PSsession, který vypíše všechna připojení. Příkazem Enter-PSsession vstoupíme do aktivního připojení. Lze využít id číslo připojení místo názvu, například enter-pssession 1. 2.2.2
Kopírování souboru přes PowerShell Obrázek č. 6.
Kopírování probíhá tak, že do příkazu vypíšeme umístění daného souboru v počítači a umístění, kam jej chceme kopírovat. Přesný příkaz je Copy-item [cesta] –destination [cesta v siti]. Podrobnosti na obrázku č. 6. Ke kopírování není třeba aktivní připojení (session), protože probíhá z našeho příkazového řádku a proces zkopíruje soubor do danéhého umístění na vzdálený počítač. Mohlo by tedy být zařazeno v postupu i před připojením. 2.2.3
Spuštění .exe souboru
Pro úspěšné spuštění souboru využijeme parametry, které zaručují automatické nastavení: /verysilent zaručí, že se na vzdáleném počítači nezapne instalační konzola a provede se standartní nastavení; /norestart zařídí, že instalace proběhne bez restartu počítače. Výrobce má tyto parametry vypsané na svých internetových stránkách, právě pro případ vzdálené instalace. 2.2.4
Přidání výjimek do Firewallu pro VNC
Obrázek č. 7.
Obrázek č. 8.
Přes prostředí Netsh nastavíme výjimky ve Firewallu. Pro postup pomocí nápovědy zadáme příkaz „netsh /?“, a tím se zobrazí výpis akcí, které můžeme použít. V prvním výpisu musíme zvolit položku „advfirewall“, pod položkou „firewall“ bychom nenašli potřebná nastavení. Poté pomocí nápovědy („/?“) postupně zjišťujeme další části příkazu. 2.2.5
Přidání výjimek do Firewallu pro sdílení složek
Jakmile jsme schopni se připojit přes VNC, nemusíme výjimky řešit přes PowerShell, protože nám VNC umožní zobrazení plochy vzdáleného počítače a vše pohodlně „vyklikáme“ myší.
2.3.
Vzdálené zapnutí/vypnutí účtu administrator
Nejdříve se stejně jako v kapitole 2.2.1 připojíme na vzdálený počítač. Poté příkazem: net user administrator /active:yes zapneme účet administrátora. Záměnou yes za no ho můžeme jednoduše vypnout. Tím docílíme toho, že při dalším přihlašování na vzdálený počítač si můžeme vybrat login jako administrátor nebo běžný uživatel. Příkazem net user administrator nejakeheslo můžeme tomuto účtu přiřadit heslo. Za „nejakeheslo“ doplníme žádané heslo. Obrázek č. 9.
3.
Závěr
Tímto jsme dokončili připojení se k počítači systémem PowerShell, povolení veškerých potřebných výjimek ve firewallu a instalaci realVNC, který nám umožňuje komplexní vzdálený přístup. V případě potřeby instalace jiných programů lze tento postup také aplikovat, samozřejmě s malými modifikacemi.
4.
Stavový diagram
Slovní popis stavového diagramu: Z počátečního bodu přejde správce sítě na stav, kdy zapne počítač a poté se úspěšně přihlásí pod svým jménem a heslem do systému. Přechodem do dalšího stavu spustí příkazový řádek a přejde na stav zobrazení plochy vzdáleného PC. Z tohoto stavu má správce několik možností přechodů do dalších stavů, podle toho, co chce na počítači vykonat. Při práci se soubory přechází do stavů, kdy soubor buď zkopíruje (systém ověří místo na disku), extrahuje nebo edituje. Chce-li správce sítě pracovat s programy, přejde po otevření instalačního souboru nebo balíčku do stavu instalovat program a následně ho spustí a ukončí. Tato fáze je možná i bez instalace v případě, kdy je software již předem nainstalován a správce sítě spouštěcím souborem program spustí. Další správcovou možností je kliknutím na příslušný soubor a odinstalovat jakýkoliv program. Výběrem uživatelů jim nastaví práva v užívání daného PC. Všechny stavy přecházejí do stavu ukončení přístupu k vzdálené ploše. Zvolením možnosti odhlášení se dostane do stavu odhlášen a poté následuje stav, kdy je počítač vypnut. Dostává se na koncový bod.
Závěr projektu
Podíl členů týmu na projektu
Vedoucí týmu Jirka Navrátil se podílel na všech činnostech prováděných při řešení projektu. Tyto činnosti se týkaly převážně dozoru nad prací a samotnými členy týmu, rozdělování úkolů a poskytování rad všem členům při řešení projektu. V případě výskytu komplikací je řešil. Jeho primárním úkolem byla komunikace se zadavatelem a s vyučujícím předmětu Projekt. Ostatní členové pracovali na projektu dle rozdělení úkolů vedoucím. Zástupce vedoucího, Eliška Křížová, měla na starost písemnou dokumentaci, vytvoření harmonogramu a jeho dodržování. Dále se účastnila všech schůzek, spolu s vedoucím týmu, se zadavatelem. To znamená, že byla v podstatě od začátku do konce projektu při jeho řešení. Tomáš Táborský plnil funkci hlavního programátora našeho týmu. Od začátku projektu až po jeho dokončení se postupovalo podle jeho pokynů. Vyhledával si informace potřebné k úspěšnému dokončení projektu ve spolupráci s dalšími členy týmu. Neméně důležité byla jeho spolupráce při vytváření dokumentace, kdy Elišce a Zuzce dokázal vysvětlit jednotlivé kroky navrženého postupu. Jeho základní výhoda pro získání této pozice byla znalost práce v příkazovém řádku Windows. Na základě těchto znalostí projekt probíhal skoro bez komplikací. Zuzka Šislerová byla taková zástupkyně zástupce vedoucího. Od počátku projektu byla potřeba tvořit dokumentace, a Zuzka byla vždy po ruce Elišce. Dohromady měli stoprocentní podíl na technické i projektové dokumentaci. Další, neméně důležitou, rolí Zuzky byla role motivátora. Přinesla do našeho týmu svěží vzduch a udržovala optimismus týmu. Ondra Kasák a Standa Šnábl měli od počátku zadanou roli prezentujících členů týmu. Takže z počátku byli po ruce Tomášovi při řešení problému, aby pak byli schopni vytvořit grafickou prezentaci a správně a srozumitelně ji odprezentovat. Jejich dalším úkolem bylo vytvoření diagramů potřebných pro úspěšný projekt a jejich interpretace.
Přínos projektu pro členy týmu Veškerý přínos pro jednotlivé členy týmu byl především závislý na jejich úkolech. To znamená, že každý člen získal zkušenosti v rámci svého úkolu: • • • • •
Jirka – vedení členů týmů, jak řešit komplikace vznikající při řešení projektu, Eliška – zkušenosti s tvorbou harmonogramu a jeho vedením, získání znalostí pro tvorbu dokumentace (technické, literární), Zuzka – získání znalostí pro tvorbu dokumentace (obdobné jako u Elišky), Ondra, Standa – znalosti o zadaném projektu (zadání, řešení problému projektu), tvorba prezentace projektu a diagramů pro ni potřebných, Tomáš – zlepšení kvality jeho znalostí v dané problematice.
Všichni členové si rozšířili obzory o problematice příkazového řádku a propojení více počítačů do sítě. Členové týmu by měli být nyní schopni používat složitější příkazy v Command Line a nastavení počítačů v síti.
Problémy s nimiž se tým setkal při řešení projektu Přestože problematických situací nebylo mnoho, je samozřejmé, že se všichni členové týmu setkávali s řešením nějakých problémů. Často nad nimi strávili dokonce více času, než sami očekávali. Nejčastější problémy vznikaly v technické sféře, se kterou přišel nejčastěji do kontaktu právě náš programátor. Nyní se pokusíme vysvětlit problematiku, s níž jsme se museli vypořádat: •
•
•
Přes několik pokusů o zprovoznění Powershell 2.0 na Windows XP se nám nepodařilo úspěšně spustit příkaz enable-PSremoting. Systém ovšem stále odmítal a odmítá povolit přístup službě WinRm i po instalaci hotfixu od Microsoftu který měl daný error řešit. Vzhledem k tomu, že přístup přes tento operační systém nebyl prioritou, nepodnikali jsme další pokusy o zprovoznění. Při zkoušce implementace řešení nastal problém s faktem, že na všech počítačích, na které jsme se chtěli připojit, bylo nutné ručně spustit příkaz enable-PSremoting v programu Powershell 2.0. Tato služba musí být zapnuta pro vzdálený přístup prostřednictvím daného programu. Primárním problémem při aktivaci a používání remote přístupu nastavení je nastavení domácí skupiny ve Windows 7. Na zkušebních (virtuálních) strojích se toto nastavení po každém vypnutí „zresetovalo“ na původní, tedy veřejnou síť, a znemožnilo jakékoli propojení strojů. Na běžných pracovních stanicích školy je stabilně nastavena „Síť v zaměstnání“. Toto nastavení by nemělo na žádné ze školních stanic působit problémy.