PowerShell jest potężnym językiem skryptowym i narzędziem do automatyzacji systemów Windows. Może być przydatny zarówno dla początkujących, jak i dla bardziej zaawansowanych użytkowników. W tym artykule przedstawimy kilka przykładów skryptów PowerShell, które pomogą w zrozumieniu składni i sposobu działania tego języka. Zaprezentowane przykłady będą obejmować różne aspekty PowerShell i posłużą jako solidna podstawa do dalszej nauki.
Skrypt powitalny:
Ten skrypt przywita użytkownika i przedstawi podstawowe informacje o komputerze.
$currentTime = Get-Date
$computerName = $env:COMPUTERNAME
$userName = $env:USERNAME
Write-Host "Witaj, $userName!"
Write-Host "Aktualna data i godzina: $currentTime"
Write-Host "Nazwa komputera: $computerName"
Skrypt liczący sumę liczb:
Ten skrypt poprosi użytkownika o wprowadzenie kilku liczb, a następnie obliczy ich sumę.
$numbers = Read-Host "Wprowadź liczby, oddzielone przecinkami"
$numberArray = $numbers -split ","
$sum = 0
foreach ($number in $numberArray) {
$sum += [int]$number
}
Write-Host "Suma liczb wynosi: $sum"
Skrypt kopiujący pliki:
Ten skrypt skopiuje wszystkie pliki z jednego katalogu do innego.
$sourcePath = "C:\FolderA"
$destinationPath = "C:\FolderB"
Get-ChildItem $sourcePath | ForEach-Object {
Copy-Item $_.FullName $destinationPath
}
Write-Host "Pliki zostały skopiowane pomyślnie."
Skrypt sprawdzający dostępność witryny internetowej:
Ten skrypt sprawdzi, czy określona witryna internetowa jest dostępna.
$websiteUrl = "http://www.example.com"
$webRequest = [System.Net.WebRequest]::Create($websiteUrl)
try {
$response = $webRequest.GetResponse()
Write-Host "Witryna jest dostępna."
} catch {
Write-Host "Wystąpił błąd podczas próby uzyskania dostępu do witryny."
}
Skrypt wyszukujący pliki według rozszerzenia:
Ten skrypt wyszuka wszystkie pliki w określonym katalogu i jego podkatalogach o określonym rozszerzeniu.
$searchPath = "C:\Folder"
$extension = "*.txt"
Get-ChildItem $searchPath -Recurse -Filter $extension
Skrypt eksportujący informacje o usługach do pliku CSV:
Ten skrypt wygeneruje listę usług na komputerze i zapisze je do pliku CSV.
$services = Get-Service
$services | Select-Object Name, Status, StartType | Export-Csv -Path "C:\Services.csv" -NoTypeInformation
Write-Host "Informacje o usługach zostały wyeksportowane do pliku CSV."
Skrypt zmieniający rozszerzenie plików w określonym katalogu:
Ten skrypt zmieni rozszerzenie wszystkich plików w określonym katalogu na nowe rozszerzenie.
$folderPath = "C:\Folder"
$oldExtension = "*.txt"
$newExtension = "*.csv"
Get-ChildItem $folderPath -Filter $oldExtension | Rename-Item -NewName { $_.Name -replace $oldExtension, $newExtension }
Write-Host "Rozszerzenia plików zostały zmienione."
Skrypt tworzący harmonogram zadań:
Ten skrypt utworzy harmonogram zadań w systemie Windows, który uruchomi określony skrypt PowerShell o określonej godzinie.
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "C:\Scripts\MyScript.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 10:00am
$settings = New-ScheduledTaskSettingsSet
Register-ScheduledTask -TaskName "MyTask" -Action $action -Trigger $trigger -Settings $settings
Write-Host "Harmonogram zadań został utworzony."
Te przykładowe skrypty pokazują różne możliwości PowerShell i dają wgląd w składnię i sposób działania języka. Zachęcam do eksperymentowania z nimi, dostosowywania ich do swoich potrzeb i odkrywania dalszych funkcji, które PowerShell ma do zaoferowania. Pamiętaj, że nauka PowerShell jest procesem ciągłym, ale z czasem nabierzesz pewności i umiejętności w tym języku, co pozwoli Ci na bardziej zaawansowane zastosowania i automatyzację zadań.