#PowerShell Functions with Parameters
#1. Get Disk Space Info
function Get-DiskSpace {
param(
[string]$DriveLetter = "C"
)
Get-PSDrive -Name $DriveLetter | Select-Object Name,
@{Name="FreeGB";Expression={($_.Free/1GB)}},
@{Name="UsedGB";Expression={(($_.Used/1GB))}}
}
Get-DiskSpace -DriveLetter "D"
#2. List Running Services
function Get-RunningServices {
param(
[string]$Status = "Running"
)
Get-Service | Where-Object {$_.Status -eq $Status} | Select-Object Name, DisplayName
}
Get-RunningServices -Status "Stopped"
#3. Rename Files in Bulk
function Rename-Files {
param(
[string]$Path,
[string]$Prefix
)
Get-ChildItem -Path $Path -File | ForEach-Object {
Rename-Item $_.FullName -NewName ($Prefix + $_.Name)
}
}
Rename-Files -Path "C:\Temp" -Prefix "New_"
#4. Check Internet Connectivity
function Test-Internet {
param(
[string]$Host = "google.com"
)
try {
Test-Connection -ComputerName $Host -Count 2 -Quiet
} catch {
$false
}
}
Test-Internet -Host "bing.com"
#5. Clear Temporary Files
function Clear-TempFiles {
param(
[string]$Path = "$env:TEMP"
)
Get-ChildItem -Path $Path -Recurse -Force | Remove-Item -Force -Recurse
Write-Output "Temporary files cleared from $Path"
}
Clear-TempFiles -Path "C:\Windows\Temp"
#6. Check Installed Modules
function Get-InstalledModules {
param(
[string]$Name
)
if ($Name) {
Get-InstalledModule -Name $Name | Select-Object Name, Version
} else {
Get-InstalledModule | Select-Object Name, Version
}
}
Get-InstalledModules -Name "Az"
#7. Restart Spooler Service Safely
function Restart-ServiceSafe {
param(
[string]$ServiceName
)
$service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
if ($service) {
Restart-Service -Name $ServiceName -Force
Write-Output "$ServiceName restarted successfully."
} else {
Write-Output "Service $ServiceName not found."
}
}
Restart-ServiceSafe -ServiceName "Spooler"
#1. Get Disk Space Info
function Get-DiskSpace {
param(
[string]$DriveLetter = "C"
)
Get-PSDrive -Name $DriveLetter | Select-Object Name,
@{Name="FreeGB";Expression={($_.Free/1GB)}},
@{Name="UsedGB";Expression={(($_.Used/1GB))}}
}
Get-DiskSpace -DriveLetter "D"
#2. List Running Services
function Get-RunningServices {
param(
[string]$Status = "Running"
)
Get-Service | Where-Object {$_.Status -eq $Status} | Select-Object Name, DisplayName
}
Get-RunningServices -Status "Stopped"
#3. Rename Files in Bulk
function Rename-Files {
param(
[string]$Path,
[string]$Prefix
)
Get-ChildItem -Path $Path -File | ForEach-Object {
Rename-Item $_.FullName -NewName ($Prefix + $_.Name)
}
}
Rename-Files -Path "C:\Temp" -Prefix "New_"
#4. Check Internet Connectivity
function Test-Internet {
param(
[string]$Host = "google.com"
)
try {
Test-Connection -ComputerName $Host -Count 2 -Quiet
} catch {
$false
}
}
Test-Internet -Host "bing.com"
#5. Clear Temporary Files
function Clear-TempFiles {
param(
[string]$Path = "$env:TEMP"
)
Get-ChildItem -Path $Path -Recurse -Force | Remove-Item -Force -Recurse
Write-Output "Temporary files cleared from $Path"
}
Clear-TempFiles -Path "C:\Windows\Temp"
#6. Check Installed Modules
function Get-InstalledModules {
param(
[string]$Name
)
if ($Name) {
Get-InstalledModule -Name $Name | Select-Object Name, Version
} else {
Get-InstalledModule | Select-Object Name, Version
}
}
Get-InstalledModules -Name "Az"
#7. Restart Spooler Service Safely
function Restart-ServiceSafe {
param(
[string]$ServiceName
)
$service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
if ($service) {
Restart-Service -Name $ServiceName -Force
Write-Output "$ServiceName restarted successfully."
} else {
Write-Output "Service $ServiceName not found."
}
}
Restart-ServiceSafe -ServiceName "Spooler"
No comments:
Post a Comment