Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

Prywatne repozytorium skryptów PowerShell

Data publikacji: 26-06-2018 Autor: Michał Gajda

Wykorzystywanie skryptów Windows PowerShell pozwala znacznie ułatwić prace administracyjne. Ważne jest jednak utrzymanie należytego nadzoru nad używanymi skryptami – aby zachować nad nimi kontrolę, najlepiej jest posłużyć się prywatnym centralnym repozytorium skryptów.

Skrypty języka Windows PowerShell używane są przez pracowników działów IT niemal w każdej organizacji. Dzieje się tak, gdyż za ich pomocą możemy automatyzować, a co za tym idzie, upraszczać praktycznie każdy proces, działający w ramach infrastruktury IT. Niemniej jednak im więcej skryptów zaczynamy wykorzystywać, tym ciężej nad nimi zapanować. Zwłaszcza gdy ciągle je modyfikujemy, usprawniamy, a w szczególności wykorzystujemy w rozproszonym środowisku, gdzie skrypty są dystrybuowane na wiele serwerów zarządzanej infrastruktury.

 
Dlatego aby łatwiej było zapanować nad ich wdrażaniem czy późniejszą aktualizacją, warto wesprzeć się centralnym repozytorium skryptów Windows PowerShell, jak na przykład publicznie dostępnym repozytorium, jakim jest PowerShell Gallery. Niemniej jednak w przypadku własnych skryptów nie zawsze musimy chcieć je udostępniać w sposób publiczny. W szczególności, że mogą one zawierać różne autorskie rozwiązania czy po prostu newralgiczne dane. Tak więc jedynym rozwiązaniem przedstawionego problemu jest wdrożenie prywatnego rozwiązania, w ramach którego będziemy mogli składować własne skryptowe narzędzia Windows PowerShell. 
 
> WDRAŻANIE NUGET SERVER
 
Rozwiązań na wdrożenie prywatnego repozytorium skryptów języka Windows PowerShell jest wiele. Jednakże w niniejszym artykule skupimy się na wdrożeniu bezpłatnej wersji narzędzia, jakim jest NuGet.Server. Jest to aplikacja webowa bazująca na frameworku ASP.NET, dlatego do jej wdrożenia będziemy potrzebowali serwera IIS, na przykład dostępnego w ramach najnowszej wersji Windows Server 2016.
 
Aby zainstalować wspomnianą rolę wraz z wymaganymi komponentami, wystarczy posłużyć się poniższym poleceniem Windows PowerShell:
 
Install-WindowsFeature -Name Web-Server, Web-Asp-Net45
-IncludeManagementTools
 
Z racji tego, że będziemy wdrażać web aplikację na frame­worku ASP.NET, najlepiej posłużyć się narzędziem Visual Studio, np. najnowszą bezpłatną wersją Visual Studio Community 2017, w ramach której utworzymy nowy projekt. W naszym przypadku nadamy mu nazwę PrivateNuGetServer. Cały proces tworzenia projektu został przedstawiony krok po kroku w ramce Wdrażanie Nuget.Server.
 
Alternatywną formą wdrażania wymaganych paczek NuGet.Server jest użycie konsoli Package Manager Console, w ramach której wystarczy posłużyć się poniższym poleceniem:
 
Install-Package NuGet.Server
 
> KONFIGURACJA REPOZYTORIUM
 
Sama instalacja pakietu NuGet.Server nie jest jednoznaczna z gotowością repozytorium do działania. Oczywiście, jeżeli uruchomimy web aplikację, na przykład za pomocą mechanizmu IIS Express, wszystko powinno załadować się poprawnie. Jednak bez dodatkowej konfiguracji serwera, nie będzie możliwe publikowanie skryptów w ramach repozytorium. Dlatego aby móc korzystać z opisywanego rozwiązania, konieczna jest konfiguracja dwóch parametrów dostępnych w pliku Web.config naszego projektu. Pierwszym z nich jest parametr requireApiKey. Domyślnie ma on ustawioną wartość True, która definiuje wymóg wykorzystywania hasła do publikowania paczek. Najlepiej pozostawić niniejszy parametr włączony, ponieważ wyłączenie go spowoduje odblokowanie dostępu do publikowania oraz usuwania paczek dla wszystkich użytkowników. Drugim wymaganym parametrem jest zdefiniowanie wcześniej wspomnianego hasła, czyli tak zwanego apiKey. Najlepiej, aby było to silne hasło, gdyż pozwala ono na dostęp administracyjny do repozytorium.
 
Z przydatnych parametrów możemy również wyróżnić opcję packagesPath, dzięki której możemy zdefiniować alternatywną lokalizację publikowanych paczek ze skryptami. Domyślnie będzie to folder Packages, który zlokalizowany jest w folderze ze źródłami projektu.
 
Dodatkowo należy również zwrócić uwagę na parametr allowOverrideExistingPackageOnPush, który domyślnie ma ustawioną wartość False. Dzięki niemu system będzie wymuszał na administratorze publikującym konieczność wersjonowania modułów czy skryptów Windows PowerShell. W przypadku gdy zostanie podjęta próba opublikowania narzędzia o tym samym identyfikatorze oraz wersji, zakończy się ona niepowodzeniem.
 
Skonfigurowanie wyżej wymienionych parametrów serwera pozwala już na pełne wykorzystywanie aplikacji NuGet.Server, jako prywatnego repozytorium skryptów. Po wprowadzeniu ustawień możemy przystąpić do ostatniego kroku, czyli opublikowania finalnej web aplikacji w ramach lokalnego serwera IIS. Proces publikowania web aplikacji w ramach lokalnego serwera IIS został przedstawiony krok po kroku w ramce Publikowanie NuGet.Server.
 
> REJESTROWANIE REPOZYTORIUM
 
Przed opublikowaniem w nowo utworzonym repozytorium własnych modułów lub skryptów musimy je zarejestrować w konsoli Windows PowerShell. Do tego celu wykorzystamy cmdlet Register-PSRepository, wraz z podaniem kilku niezbędnych parametrów, w tym nazwy, pod którą będzie rejestrowane repozytorium, adresu źródłowej lokalizacji oraz adresu publikowania. 
 
[...]
 
Autor pracuje jako architekt systemów Microsoft, zajmuje się implementowaniem nowych technologii w infrastrukturze serwerowej. Posiada tytuł MVP Cloud and Datacenter Management. Jest twórcą webcastów i artykułów publikowanych w czasopismach i serwisach internetowych

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"