Skrypty PowerShell do zarządzania systemem Windows Server , part5
Windows Server

Skrypty PowerShell do zarządzania systemem Windows Server , part5

Oto kolejne przydatne skrypty PowerShell, które mogą być użyteczne w administracji Windows Server:

1. Skrypt do zarządzania użytkownikami w Active Directory (tworzenie użytkownika)

Skrypt do tworzenia nowego użytkownika w Active Directory z określonymi właściwościami, jak nazwa użytkownika, pełne imię, i hasło.

# Definicja zmiennych
$userName = "nowy_uzytkownik"
$fullName = "Nowy Użytkownik"
$password = "P@ssw0rd"

# Tworzenie nowego użytkownika
New-ADUser -SamAccountName $userName -UserPrincipalName "$userName@domain.com" -Name $fullName -GivenName "Nowy" -Surname "Użytkownik" -DisplayName $fullName -Path "CN=Users,DC=domain,DC=com" -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -Enabled $true

Write-Host "Użytkownik $userName został utworzony w Active Directory."
Skrypty PowerShell do zarządzania systemem Windows Server , part5
Skrypty PowerShell do zarządzania systemem Windows Server , part5

2. Skrypt do zmiany hasła użytkownika w Active Directory

Ten skrypt zmienia hasło użytkownika w Active Directory.

# Definicja zmiennych
$userName = "istniejacy_uzytkownik"
$newPassword = "NoweP@ssw0rd"

# Zmiana hasła użytkownika
Set-ADAccountPassword -Identity $userName -NewPassword (ConvertTo-SecureString $newPassword -AsPlainText -Force) -Reset

Write-Host "Hasło użytkownika $userName zostało zmienione."

3. Skrypt do sprawdzenia statusu usługi na wielu serwerach

Skrypt, który sprawdza status usługi na wielu serwerach i wyświetla, czy usługa działa, czy jest zatrzymana.

# Lista serwerów i nazwa usługi
$servers = @("serwer1", "serwer2", "serwer3")
$serviceName = "wuauserv"  # Windows Update Service

# Sprawdzanie statusu usługi na serwerach
foreach ($server in $servers) {
    $serviceStatus = Get-Service -ComputerName $server -Name $serviceName
    Write-Host "$server: Usługa $serviceName jest $($serviceStatus.Status)"
}

4. Skrypt do tworzenia kopii zapasowej folderu na serwerze

Skrypt, który tworzy kopię zapasową wskazanego folderu do innej lokalizacji na tym samym serwerze lub na zdalnym serwerze.

# Ścieżki do folderu źródłowego i docelowego
$sourceFolder = "C:\Dokumenty"
$backupFolder = "D:\Backup\Dokumenty"

# Kopiowanie plików
Copy-Item -Path $sourceFolder -Destination $backupFolder -Recurse -Force

Write-Host "Kopia zapasowa folderu $sourceFolder została utworzona w $backupFolder."

5. Skrypt do zbierania informacji o dyskach twardych

Skrypt, który zbiera szczegółowe informacje o dyskach twardych w systemie, w tym rozmiar, dostępność i status.

# Pobieranie informacji o dyskach
Get-PhysicalDisk | Select-Object DeviceID, FriendlyName, OperationalStatus, Size, MediaType | Format-Table -AutoSize

Write-Host "Informacje o dyskach zostały pobrane."

6. Skrypt do monitorowania pamięci RAM i użycia procesora

Skrypt monitoruje wykorzystanie pamięci RAM i procesora na serwerze, generując ostrzeżenie, jeśli wykorzystanie przekroczy ustalony próg.

# Określenie progów
$cpuThreshold = 80
$ramThreshold = 80

# Pobieranie użycia CPU i RAM
$cpuUsage = Get-WmiObject -Class Win32_Processor | Select-Object -ExpandProperty LoadPercentage
$ramUsage = (Get-WmiObject -Class Win32_OperatingSystem).FreePhysicalMemory / (Get-WmiObject -Class Win32_OperatingSystem).TotalVisibleMemorySize * 100

# Sprawdzanie, czy wykorzystanie CPU i RAM przekracza próg
if ($cpuUsage -gt $cpuThreshold) {
    Write-Host "Ostrzeżenie: Użycie CPU wynosi $cpuUsage%, przekroczyło próg $cpuThreshold%."
}
if ($ramUsage -gt $ramThreshold) {
    Write-Host "Ostrzeżenie: Wykorzystanie RAM wynosi $ramUsage%, przekroczyło próg $ramThreshold%."
}

7. Skrypt do usuwania użytkowników z Active Directory

Skrypt do usuwania użytkowników z Active Directory na podstawie nazwy użytkownika.

# Definicja zmiennej z nazwą użytkownika
$userName = "usunięty_uzytkownik"

# Usuwanie użytkownika
Remove-ADUser -Identity $userName -Confirm:$false

Write-Host "Użytkownik $userName został usunięty z Active Directory."

8. Skrypt do wyłączania systemu w określonym czasie

Skrypt do wyłączenia systemu po upływie określonego czasu.

# Czas do wyłączenia (w minutach)
$timeToShutdown = 60

# Wyłączanie systemu po określonym czasie
Shutdown.exe /s /t ($timeToShutdown * 60)

Write-Host "System zostanie wyłączony za $timeToShutdown minut."

9. Skrypt do sprawdzania dostępności serwera SQL

Skrypt sprawdza, czy serwer SQL jest dostępny i czy odpowiada na zapytania.

# Adres serwera SQL
$server = "SQLServer.domain.com"

# Sprawdzanie dostępności serwera SQL
Test-NetConnection -ComputerName $server -Port 1433

Write-Host "Sprawdzono dostępność serwera SQL."

10. Skrypt do dodawania i usuwania wpisów w pliku hosts

Skrypt do dodawania lub usuwania wpisów w pliku hosts, co może być użyteczne przy zarządzaniu nazwami hostów w sieci.

# Ścieżka do pliku hosts
$hostsFile = "C:\Windows\System32\drivers\etc\hosts"

# Dodawanie wpisu
Add-Content -Path $hostsFile -Value "`n127.0.0.1   nowy-serwer"

# Usuwanie wpisu
(Get-Content -Path $hostsFile) | Where-Object { $_ -notmatch "nowy-serwer" } | Set-Content -Path $hostsFile

Write-Host "Wpisy w pliku hosts zostały zaktualizowane."

11. Skrypt do sprawdzania dostępności portu na zdalnym serwerze

Skrypt do sprawdzania, czy dany port jest otwarty na zdalnym serwerze.

# Adres serwera i port
$server = "serwer.domain.com"
$port = 443

# Testowanie dostępności portu
Test-NetConnection -ComputerName $server -Port $port

Write-Host "Sprawdzono dostępność portu $port na serwerze $server."

12. Skrypt do zbierania informacji o użytkownikach (Active Directory)

Skrypt, który zbiera podstawowe informacje o użytkownikach w Active Directory, takie jak nazwa użytkownika, stan konta, i data ostatniego logowania.

# Pobieranie informacji o użytkownikach
Get-ADUser -Filter * -Property SamAccountName, Enabled, LastLogonDate | Select-Object SamAccountName, Enabled, LastLogonDate | Format-Table -AutoSize

Write-Host "Informacje o użytkownikach zostały pobrane."

13. Skrypt do aktualizacji systemu (Windows Update)

Skrypt do uruchomienia aktualizacji systemu Windows z poziomu PowerShell.

# Uruchomienie aktualizacji systemu
Install-WindowsUpdate -AcceptAll -AutoReboot

Write-Host "Aktualizacje zostały zainstalowane."

14. Skrypt do monitorowania logów zdarzeń systemowych

Skrypt monitoruje logi zdarzeń systemowych w czasie rzeczywistym i informuje o nowych wpisach w dziennikach.

# Monitorowanie logów zdarzeń systemowych
Get-WinEvent -LogName System -MaxEvents 5 | Format-Table -Property TimeCreated, Message -AutoSize

Write-Host "Monitoring logów zdarzeń systemowych."

15. Skrypt do wyświetlania szczegółowych informacji o sieci

Skrypt zbiera szczegółowe informacje o ustawieniach sieciowych serwera, takich jak adres IP, brama, DNS itp.

# Pobieranie szczegółowych informacji o sieci
Get-NetIPAddress
Get-NetRoute
Get-DnsClientServerAddress

Write-Host "Informacje o ustawieniach sieciowych zostały zebrane."

Te skrypty PowerShell są przydatne w różnych scenariuszach administracyjnych, pozwalając na automatyzację wielu zadań i zarządzanie serwerami Windows Server. Dzięki nim można zaoszczędzić czas i zwiększyć efektywność pracy w środowisku produkcyjnym.

Czytaj  Jak zainstalować i skonfigurować rolę Hyper-V do tworzenia i zarządzania maszynami wirtualnymi w Windows Server
Polecane wpisy
Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service
Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service

Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service PowerShell to jedno z najpotężniejszych narzędzi dostępnych w systemach operacyjnych Czytaj dalej

Migracja maszyn wirtualnych w Debianie: Przewodnik krok po kroku
Migracja maszyn wirtualnych w Debianie: Przewodnik krok po kroku

Migracja maszyn wirtualnych w Debianie: Przewodnik krok po kroku Migracja maszyn wirtualnych to proces przenoszenia maszyn wirtualnych (VM) z jednego Czytaj dalej