W poprzednim artykule o Windows Server Core opisałem między innymi, jak korzystać z pliku „sconfig.vbs” do podstawowej konfiguracji ustawień systemowych. Niektórzy mogą odczuwać niedosyt z powodu ograniczonych możliwości konfiguracji lokalnej bez posiłkowania się wyspecjalizowanymi poleceniami. Opiszę teraz, w jaki sposób rozszerzyć lokalne możliwości konfiguracyjne.
Udostępnij!
Jak zaprzyjaźnić się z Windows Server Core – część druga
W poprzednim artykule o Windows Server Core opisałem między innymi, jak korzystać z pliku „sconfig.vbs” do podstawowej konfiguracji ustawień systemowych. Niektórzy mogą odczuwać niedosyt z powodu ograniczonych możliwości konfiguracji lokalnej bez posiłkowania się wyspecjalizowanymi poleceniami. Opiszę teraz, w jaki sposób rozszerzyć lokalne możliwości konfiguracyjne.
Wykorzystamy w tym celu usprawnienie – możliwości, które zapewnia podmiana istniejącego pliku „sconfig.vbs” na skrypt PowerShell „sconfig.ps1”. Skrypt ten pozwala na więcej opcji konfiguracyjnych bez wyspecjalizowanej wiedzy o korzystaniu z poleceń PowerShell.
W cmd wpisujemy „powershell_ise”, a następnie: „Find-Script sconfig”.

W kolejnym kroku instalujemy skrypt Powershell poleceniem: „Install-Script sconfig”. Zostanie on zainstalowany w lokacji przedstawionej poniżej.

Możemy teraz porównać możliwości obu rozwiązań. Skrypt PowerShell obejmuje dodatkowe funkcjonalności – czyszczenie interfejsu użytkownika, konfigurację zespołu kart sieciowych NIC, konfigurację zapory i usługi Defender. Działa poprawnie w systemie Windows Server 2016 i nowszych serwerowych systemach operacyjnych. Począwszy od wersji 2.0, skrypt jest zaprojektowany do działania zarówno w programie Windows PowerShell 5.x, jak i PowerShell 7.x.

W tej chwili mamy dwa niezależne rozwiązania konfiguracyjne, które chcemy zastąpić nowszym skryptem Powershell uruchamianym – tak jak dotychczas – poleceniem „sconfig”. W tym celu musimy wykonać kilka operacji. Najpierw przekopiujemy plik „sconfig.ps1” do lokacji: „C:\Windows\System32”, a następnie zmodyfikujemy plik „C:\ Windows\System32\sconfig.cmd”, aby zastąpić wbudowany plik .vbs sconfig.
Uwaga – Niezbędne będzie przejęcie na własność i zmiana uprawnień dla pliku „sconfig.cmd”, by móc zmodyfikować jego zawartość.
Tę operację możemy wykonać z interfejsu graficznego lub za pomocą PowerShell. W naszym przykładzie posłużymy się poleceniami „Get-Acl i Set-Acl”.
Get-Acl -Path C:\Windows\System32\sconfig.cmd
$Owner = Get-Item -Path \\wac1\C$\Windows\System32\sconfig.cmd
$Account = New-Object System.Security.Principal.NTAccount(„BUILTIN\Administrators”)
$FileSecurity = New-Object System.Security.AccessControl.FileSecurity
$FileSecurity.SetOwner($Account)
Set-Acl -Path $Owner -AclObject $FileSecurity
Get-Acl -Path C:\Windows\System32\sconfig.cmd
Uwaga – aby polecenie set-acl zakończyło się sukcesem, musimy użyć ścieżki UNC.
Jak widać na poniższym zrzucie ekranowym, pierwotnym właścicielem pliku jest konto „NT Service\TrustedInstaller”. Zmieniamy właściciela na („BUILTIN\Administrators”). Możemy teraz dokonać modyfikacji pliku i zapisać zmiany.

Pierwotna zawartość pliku “sconfig.cmd”.

Zawartość pliku „sconfig.cmd” po modyfikacji. W tym wypadku zmodyfikowałem jeszcze domyślny kolor na nieco bardziej przyjazny. Oczywiście każdy może dostosować kolorystykę do własnych potrzeb.

Uwaga:
W przypadku korzystania z programu Windows PowerShell 5.x należy zamienić zawartość sconfig.cmd na:
echo off
powershell -File „%windir%\System32\SCONFIG.ps1”
W przypadku korzystania z programu Windows PowerShell 7.x należy zamienić zawartość sconfig.cmd na:
echo off
pwsh -File „%windir&\System32\SCONFIG.ps1”
Efekt polecenia “sconfig” po modyfikacji.

Jeśli efekt naszej modyfikacji jest dla nas satysfakcjonujący, należy powrócić do pierwotnego właściciela pliku, czyli „NT Service\TrustedInstaller”. Unikniemy w ten sposób przypadkowej zmiany zawartości pliku. Modyfikujemy skrypt Powershell według poniższego wzorca.
$Owner = Get-Item -Path \\wac1\C$\Windows\System32\sconfig.cmd
$Account = New-Object System.Security.Principal.NTAccount(„NT SERVICE\TrustedInstaller”)
$FileSecurity = New-Object System.Security.AccessControl.FileSecurity
$FileSecurity.SetOwner($Account)
Set-Acl -Path $Owner -AclObject $FileSecurity
Get-Acl -Path C:\Windows\System32\sconfig.cmd
Upewniamy się, że właściciel pliku został zmieniony.

Możemy teraz zapoznać się z rozszerzonymi funkcjonalnościami.
- Network Settings, czyli opcja „5” dostarcza bardziej szczegółowych informacji, w tym MAC Address, IPv6 i NIC oraz umożliwia włączenie/wyłączenie obsługi IPv6 i karty sieciowej.

2. NIC Teaming, czyli opcja „6” umożliwia tworzenie zespołu kart sieciowych, dodawanie kolejnej karty do zespołu oraz usunięcie zespołu kart sieciowych.

3. Firewall Setting, czyli opcja „7” umożliwia szybkie włączanie/blokowanie zapory na poszczególnych profilach, czyli domenowych, prywatnych i publicznych.

4.Windows Defender, czyli opcja”10” umożliwia przełączanie zarządzania dla ochrony w czasie rzeczywistym oraz ochrony opartej na chmurze, a także automatyczne przesyłanie próbek.

Oczywiście różnice występują również w innych wariantach modyfikujących ustawienia systemu, ułatwiając nawigację pomiędzy poszczególnymi opcjami konfiguracyjnymi, ale nie wpływa to na samą konfigurację systemową. Na tym kończymy omawianie zagadnień związanych z zarządzaniem lokalnym Windows Server Core. W następnym artykule zajmiemy się zarządzaniem zdalnym.