Skip to main content

7 posts tagged with "powershell"

View All Tags

· 2 min read
Piotr Rogala

Często stajemy przed wyzwaniem zintegrowania ze sobą wielu narzędzi. Jeżeli stosujemy PowerShell w celu automatyzacji swojej infrastruktury bądź budowy prostych skryptów może nam się przydać zastosowanie użycia wywołania żądania API za pomocą PowerShell. Poniższy przykład zaprezentuje użycie wysłania żądania za pomocą API do Azure DevOps w celu dodania puli agentowej.

Referencje API do Azure DevOps są dostępne tutaj: 

https://docs.microsoft.com/en-us/rest/api/azure/devops/distributedtask/pools/add?view=azure-devops-rest-5.1

Poniższy przykładowy skrypt możemy rozbudować dla innych operacji stosując odpowiedni uri dla potrzebnej operacji z powyższego linku.

Na początku definiujemy zmienne:

· 2 min read
Piotr Rogala

Debug natywnych szablonów ARM jest ciężkim procesem dla wielu osób. Utrzymanie infrastruktury jako kod również nie jest prostą sprawą, dlatego często używa się Terraforma dla wdrożeń w Microsoft Azure.

Szablony ARM nie posiadają pliku stanu jak to jest w Terraform dlatego często spotykam się z opinią, że, ARM'y są beznadziejnie. Po wdrożeniu trudno jest utrzymać stały rozwój infrastruktury z tego samego szablonu oraz często problemem jest przewidywalność co się stanie z obiektami, które już masz. Nie będę się rozwodził co lepsze co gorsze, ponieważ wiele zależy od naszej wiedzy, podejścia, problemu lub zlecenia, które wykonujemy. Jako Inżynier nie przywiązuje się do rozwiązań i uważam, że do każdego problemu należy podchodzić indywidualnie. Moim zdaniem najlepsze rozwiązania to rozwiązania natywne nie wymagające tworzenia koła na nowo. Stąd zachęcam do pisania szablonów ARM dla Azure.

Jako pomoc w tworzeniu infrastruktury jako kod (IaC) w Microsoft Azure polecam zapoznać się z modułem PowerShell: ARMHelper

https://www.powershellgallery.com/packages/ARMHelper/0.6.2

Za pomocą komendy: Test-ARMExistingResource możemy zbudować polecenie, które sprawdzi nam wskazany szablon w kontekście z deploy'owanych zasobów w Azure i wyświetli co się stanie. Przykład poniżej przedstawia stworzoną resource groupe bez zasobów:

Użyłem szablonu z mojego repo: https://github.com/RogalaPiotr/JustCloudPublic/tree/master/simple-vm-shutdown-on-time
Wykonuje kolejno komendy:

· 4 min read
Piotr Rogala

W tej części tytuł jest angielski, ponieważ nie stosuje spolszczeń dla technicznego języka. Ten post jest spowodowany tym co Microsoft niestety przestał wspierać w Azure a mianowicie breaklease dla blobów podpiętych do wirtualnej maszyny. Było mi to potrzebne do jednego zadania, dlatego byłem zmuszony zrobić coś innego. Mianowicie potrzebne mi było usunięcie maszyny i stworzenie jej bazując na istniejących vhd'kach w innym kontenerze dodatkowo moje założenie wymagało powershell'a. W skrócie odtworzenie maszyny z jakiegoś stanu, który jest przechowywany jako kopia dysków wirtualnej maszyny. Myślę, że są osoby, którym się to przyda.

Krótki opis:

  1. Podajemy nazwę maszyny lub listę maszyn z naszej subskrypcji.
  2. Na podstawie nazwy maszyny znajdujemy resource groupe.
  3. Wyłączamy maszynę.
  4. Na podstawie RG i nazwy VM sprawdzamy jakie dyski są podpięte do maszyny.
  5. Znajdujemy sobie context dla dysków.
  6. Mając wszystkie dane przechodzimy do usuwania maszyny.
  7. Usuwany obecny vhd z OS.
  8. Kopiujemy w jego miejsce wcześniej skopiowany vhd z kontenera "images".
  9. Przeprowadzamy dalej tą samą operacje dla wszystkich podpiętych dysków data.
  10. Na podstawie wszystkich zebranych wcześniej danych tworzymy wirtualną maszynę.

· 2 min read
Piotr Rogala

Spotkałem się ostatnio z bardzo ciekawym feature’m związanym z zapisaniem swojego profilu logowania do Azure. W skrócie opisując jeśli używasz często PowerShella, a dodatkowo masz MFA zapewne wiesz jak denerwujące jest ciągłe pytanie o login i hasło. Kiedyś pojawiła się opcja związana z zapisaniem credential’i do pliku a następnie za pomocą skryptu można było sobie zautomatyzować proces logowania. Aczkolwiek przestało to działać po wprowadzeniu ARM'a itd. Aby nie rozwodzić się nad tym przedstawię Ci jak możemy sobie ułatwić życie i pracę ze skryptami, ale o tym później. Na początku proszę Cię o wykonanie aktualizacji PowerShell Azure ponieważ poniższe polecenia są dostępne od wersji 3.8.0 oraz 4.2.0 w celu aktualizacji możesz użyć Web Installer’a z linku poniżej.

Dokumentacja: Add-AzureRmAccount: https://docs.microsoft.com/en-us/powershell/module/azurerm.profile/add-azurermaccount?view=azurermps-3.8.0 Save-AzureRmContext: https://docs.microsoft.com/en-us/powershell/module/azurerm.profile/save-azurermcontext?view=azurermps-3.8.0 Import-AzureRmContext: https://docs.microsoft.com/en-us/powershell/module/azurerm.profile/import-azurermcontext?view=azurermps-4.2.0 WebInstaller: https://www.microsoft.com/web/downloads/platform.aspx

· 3 min read
Piotr Rogala

Większość z was zapewne widziała już Visual Studio Code taki Visual Studio w wersji "light". Program jest dostępny na platformy Windows, Linux, Mac można powiedzieć, że to dosyć dziwne i takie nie Microsoft'owe a zarazem jest bardzo poważny krok w stronę DevOps'ów. Jeśli używałeś wcześniej różnych edytorów tekstowych to pewnie miałeś bądź nadal używasz programu Sublime Text. Myślę, że jak użyje określenia odpowiednik to zapewne już wiesz o czym tutaj piszę.

Czym jest Visual Studio Code? Jest to edytor tekstowy z możliwością zainstalowania różnych modułów. Z defaultu program ma kontrolę wersji (wymagana instalacja Git'a) i debug. Ponoć w niedalekiej przyszłości VSC ma zastąpić PowerShell ISE dlatego przejdźmy do konfiguracji, aby móc z niego korzystać.

Do ściągnięcia z: https://code.visualstudio.com/

Instruktarz video: https://channel9.msdn.com/Blogs/MVP-Azure/Transitioning-from-PowerShell-ISE-to-VS-Code

· 2 min read
Piotr Rogala

Każdy prawdziwy admin powinien korzystać nie tylko z okienek, a między innymi z PowerShell-a. Dlatego napiszę parę słów na temat zarządzania Azure-m oraz zaprezentuję jak łatwo można się połączyć z Azure za pomocą konsoli PS. W dwóch stepach opiszę co należy zrobić, aby zrobić to szybko i ze zrozumieniem tematu.

Małe wprowadzenie: Azure przechodzi domyślnie w tryb kontenerowy tak zwany Resource Groups nazywany też ARM czyli Azure Resource Manager. Z punktu widzenia architekta, admina, specjalisty IT zmienia to wiele rzeczy począwszy od poleceń PowerShell-owych, aż po budowanie aplikacji w chmurze. Wszystkich wnikliwych informacji dowiemy się na stronach MS natomiast my skupimy się jak postawić pierwsze kroki w Azure poprzez konsolkę PS.

Step 1: Po pierwsze potrzebujemy Powershell dla Azure, który ściągniemy tutaj: https://github.com/Azure/azure-powershell/releases/download/v1.0.2-December2015/azure-powershell.1.0.2.msi

Step 2: Podłączyć się do Azure możemy dwoma komendami, które umożliwią nam zarządzanie naszymi subskrypcjami.

  • Add-AzureAccount (tryb normalny ASM)
  • Login-AzureRmAccount (tryb kontenerowy ARM)

· 2 min read
Piotr Rogala

W tym artykule opiszę jak możemy przemigrować do Azure dysk z Windows 10 TechPreview.

  1. Przygotowujemy dysk .vhd
    • Jeśli posiadamy dysk .vhdx możemy użyć polecenia PS w celu przekonwertowania:

Convert-VHD –Path “D:\Hyper-V\Windows10\Virtual Hard Disks\Windows10.vhdx" –DestinationPath “D:\Hyper-V\Windows10\Virtual Hard Disks\Windows10.vhd

azure-migracja-1