W przypadku uruchamiania rozwiązań typu Infrastructure as a Code bardzo często korzystamy z tzw. Custom Script Extension, w którym piszemy skrypt PowerShell, który się wykonuje przy kreowaniu maszyny wirtualnej. W przypadku maszyn z systemem operacyjnym Windows zazwyczaj potrzebujemy zmodyfikować rejestr, aby ustawić odpowiednie właściwości maszyny wirtualnej. System Windows przyzwyczaił nas do wyklikiwania potrzebnych opcji, które tak naprawdę są zmianami w rejestrze i nie dotyczy to tylko ustawień systemu operacyjnego, ale takż np. Office. Jak w takim razie szybko skonwertować ustawienia wyklinane z GUI na skrypt PowerShell. Ściągamy oprogramowanie porównujące rejestr, przed i po zmianie (https://www.nirsoft.net/utils/registry_changes_view.html). Uruchamiamy oprogramowanie i robimy Snapshot przed zmianami w GUI. Następnie wykonujemy zmiany w GUI. Porównujemy Snapshot rejestru versus obecne wpisy w rejestrze. Zazwyczaj znajdziemy więcej wpisów w rejestrze, które się zmieniły – np. wpisy dotyczące telemetrii, ale kopiujemy do schowka, tylko te, które są wymagane: Teraz takie wpisy trzeba przekonwertować na PowerShell, do tej pory robiłem to ręcznie, ale przypadkowo wpadłem na stronę https://reg2ps.azurewebsites.net/, gdzie może to być wykonane z automatu. W razie czego kod źródłowy dostępny tutaj: https://github.com/rzander/REG2CI/ , Program NirSoft registrychangesview-x64.
Month: October 2019
Read-Only Access to Policy Definition and Compliance Reports – fast manual
Create a Custom Role definition file e.g.: notepad $env:TMPPolicyReader.json content: {“Name”: “Policy Reader”,“Id”: “0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8”,“IsCustom”: true,“Description”: “Policy Reader.”,“Actions”: [“Microsoft.Authorization/policySetDefinitions/read”,“Microsoft.Authorization/policyDefinitions/read”,“Microsoft.Authorization/policyAssignments/read”],“NotActions”: [ ],“DataActions”: [ ],“NotDataActions”: [ ],“AssignableScopes”: [“/subscriptions/28c890b5-46e8-44a2-8f59-30e51cadd7f9”]} Using PowerShell: Connect-AzAccountGet-AzSubscriptionSelect-AzSubscription -SubscriptionId x-x-x-x-xxxNew-AzRoleDefinition -InputFile $env:TMPPolicyReader.jsonGet-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom Unfortunately, you must do it for each subscription. You can also use Security Reader role that allows you to access to workspaces and support – https://docs.microsoft.com/pl-pl/azure/role-based-access-control/built-in-roles#security-reader. This is fast outline – to understand what you are doing please visit: https://docs.microsoft.com/en-us/azure/role-based-access-control/tutorial-custom-role-powershell.
Nat on Windows 2016+ or on Windows 10 – quick config
Sometimes we need to Enable Internal NAT on Windows Especially when we want to share Internet connection from host to Virtual Machine (using Nested Virtualisation in Azure) or using Windows Containers. Issue commands: New-VMSwitch –SwitchName “NAT” –SwitchType InternalNew-NetIPAddress –IPAddress 10.0.0.1 -PrefixLength 24 -InterfaceAlias “vEthernet (NAT)”New-NetNat –Name NATnetwork –InternalIPInterfaceAddressPrefix 10.0.0.4/24