PowerShell - Bis an die Zähne
Einfach den unteren Kasten kopieren und lachen. Kann auch ins Profil integriert werden.
$global:dash_line = "──────────────────────────────────────────────────────────────────"
function global:Prompt {
$unc = (gwmi Win32_LogicalDisk -filter "DeviceID = '$((Get-Location).Drive.Name):'").ProviderName
If ($Host.Name -like "*ISE*")
{
$windowtitle_host = "ISE"
}
else
{
$windowtitle_host = "PS"
}
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if ($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{
$window_elevation = "#"
}
else
{
$window_elevation = "$"
}
write-host $dash_line
# brackets
write-host "[" -nonewline -foregroundcolor white
# Print the current time:
write-host (Get-Date -format u) -nonewline -foregroundcolor green
# brackets
write-host ("] - [") -nonewline -foregroundcolor white
# Print the working directory:
write-host $PWD -nonewline -foregroundcolor Red
write-host "|" -nonewline -foregroundcolor white
write-host $unc -NoNewline -ForegroundColor Red
write-host "|" -nonewline -foregroundcolor white
# Print the number of objects inside the current directory:
write-host (Get-Childitem $PWD -Force).Length -nonewline -foregroundcolor Red
write-host "]" -foregroundcolor white
# Print the prompt symbol:
write-host (" $window_elevation") -nonewline -foregroundcolor white
# Check for Principal and Set Window Title
$Host.UI.RawUI.WindowTitle = $windowtitle_host + " " + $window_elevation + " - " + $env:USERNAME + "@" + $env:COMPUTERNAME + " - " + $PWD
return " ";
}
function logexec
{
param (
$command
)
Invoke-Expression $command | foreach {
$timestamp = (get-date -Format "yyyy-MM-dd__HH_mm_ss")
$output = $_
write-host "$timestamp - $output"
}
}
function logping
{
param (
$address
)
$filedate = (get-date -Format "yyyy-MM-dd__HH_mm_ss")
$filename = "$filedate - $address.csv"
Write-Host "Starting Log: $filename"
Write-Output """Date"",""Time"",""Response""" | Out-File $filename -Append
$command = "ping -t -w 1000 $address"
Invoke-Expression $command | foreach {
$date = (get-date -Format "yyyy-MM-dd")
$timestamp = (get-date -Format "HH:mm:ss")
$output = $_
if (Select-String -InputObject $_ "TTL=")
{
$splitoutput = $output.split(" ")
foreach ($block in $splitoutput)
{
if (Select-String -InputObject $block "ms")
{
$block_split = $block.split("=")
foreach ($block_element in $block_split)
{
if (Select-String -InputObject $block_element "ms")
{
if (Select-String -InputObject $block_element "<")
{
$miliseconds = $block_element.replace("ms","").split("<")[1]
}
else
{
$miliseconds = $block_element.replace("ms","")
}
Write-Host "Logging - Date: $date - Timestamp: $timestamp - Miliseconds: $miliseconds"
Write-Output """$date"",""$timestamp"",""$miliseconds""" | Out-File $filename -Append
}
}
}
}
}
else
{
if ($_ -ne "" -and (-not (Select-String -InputObject $_ ":")))
{
Write-Host "Logging - Date: $date - Timestamp: $timestamp - Miliseconds: -1"
Write-Output """$date"",""$timestamp"",""-1""" | Out-File $filename -Append
}
}
}
}
function passgen
{
$passw = ""
$rand_chars = 33,35,36,37,38,40,41,43,45,46,47
48..57 | foreach {$rand_chars += $_}
65..90 | foreach {$rand_chars += $_}
97..122 | foreach {$rand_chars += $_}
1..50 | foreach {
$this_char_index = ($rand_chars | Get-Random)
$this_char = [char]$this_char_index
$passw += $this_char
}
return $passw
}
function global:Set-Title
{
param(
[parameter(Mandatory=$false, ParameterSetName="title",Position=0)]$title
)
$Host.UI.RawUI.WindowTitle = $title
}
function global:Check-Host
{
param
(
[Parameter(Mandatory=$true, ParameterSetName="hostname", Position=0)]$hostname,
[Parameter(Mandatory=$false, ParameterSetName="port", Position=1)]$port
)
$this_ping_result = (Test-NetConnection -ComputerName $hostname)
if ($port -ne $null)
{
$this_tcp_result = (Test-NetConnection -ComputerName $hostname -Port $port)
}
else
{
$port = "---"
}
write-host "Host: $hostname Ping: " -NoNewline
if ($this_ping_result.PingSucceeded -eq $true)
{
Write-Host "UP " -NoNewline -ForegroundColor Green
}
else
{
Write-Host "DOWN " -NoNewline -ForegroundColor Red
}
Write-Host "Lookup: " -NoNewline
if ($this_ping_result.NameResolutionSucceeded -eq $true)
{
Write-Host "UP " -NoNewline -ForegroundColor Green
}
else
{
Write-Host "DOWN " -NoNewline -ForegroundColor Red
}
if ($port -ne "---")
{
Write-Host "TCP port $port : " -NoNewline
if ($this_tcp_result.TcpTestSucceeded -eq $true)
{
Write-Host "UP " -ForegroundColor Green
}
else
{
Write-Host "DOWN " -ForegroundColor Red
}
}
else
{
Write-Host "TCP not checked."
}
}
function global:Find-File
{
param(
[parameter(Mandatory=$true, ParameterSetName="filter",Position=0)]$filter
)
(Get-ChildItem -Filter $filter -Force -Recurse -ErrorAction SilentlyContinue -Attributes ReadOnly,Hidden,System,Directory,Archive,Device,Normal,Temporary,SparseFile,ReparsePoint,Compressed,Offline,NotContentIndexed,Encrypted,IntegrityStream,NoScrubData | Select-Object Fullname).Fullname
}
function global:Get-FileLinks
{
get-childitem | ?{$_.LinkType} | select FullName,LinkType,Target
}
function global:Display-ADObjects
{
[CmdletBinding()]
param(
[parameter(ValueFromPipeline)]$pipeobjects,
[parameter(Mandatory=$false, ParameterSetName="adobjects",Position=0)]$adobjects
)
# Write-Host "DEBUG: $pipeobjects"
if ($pipeobjects -eq $null -and $adobjects -eq $null)
{
Write-Error "No value given"
return
}
if (($pipeobjects) -and ($adobjects))
{
Write-Error "Got value from pipe and as parameter. Please pick one of them."
return
}
if ($pipeobjects)
{
# Write-Host "DEBUG: Using pipe."
$adobjects = $pipeobjects
}
foreach ($adobject in $adobjects)
{
Write-Host "########## OBJECT - ObjectClass:" $adobject.ObjectClass
$adobject | select $propertylist | Format-List
Write-Host "Memberships:"
Write-Host ""
foreach ($membership in $adobject.memberof)
{
($membership | Get-ADGroup).name
}
Write-Host ""
}
}
function global:Find-ADName
{
param(
[parameter(Mandatory=$true, ParameterSetName="searchstring",Position=0)]$searchstring
)
$foundobjects = Get-ADObject -LDAPFilter "(|(name=$searchstring)(samaccountname=$searchstring))" -properties *
if ($foundobjects)
{
Display-ADObjects $foundobjects
}
else
{
Write-Host "Nothing was found."
}
}
function global:Find-ADLDAP
{
param(
[parameter(Mandatory=$true, ParameterSetName="searchstring",Position=0)]$searchstring
)
$foundobjects = Get-ADObject -LDAPFilter "$searchstring" -properties *
if ($foundobjects)
{
Display-ADObjects $foundobjects
}
else
{
Write-Host "Nothing was found."
}
}
function global:Rename-AllToDate
{
param(
[parameter(Mandatory=$false)][switch]$recurse,
[parameter(Mandatory=$false)][switch]$folders
)
if ($recurse.IsPresent -eq $false -and $folders.IsPresent -eq $false)
{
Write-Host "Files, no recurse."
$filelist = (Get-ChildItem -File)
}
elseif ($recurse.IsPresent -ne $false -and $folders.IsPresent -eq $false)
{
Write-Host "Files, recurse."
$filelist = (Get-ChildItem -File -Recurse)
}
elseif ($recurse.IsPresent -eq $false -and $folders.IsPresent -ne $false)
{
Write-Host "Folders, no recurse."
$filelist = (Get-ChildItem -Directory)
}
elseif ($recurse.IsPresent -ne $false -and $folders.IsPresent -ne $false)
{
Write-Host "ERROR: Renaming Folders in Folders not possible."
return
}
$filecount = $filelist.Count
$filenumber=0
foreach ($file in $filelist)
{
$fyear = "{0:d4}" -f $file.LastWriteTime.Year
$fmonth = "{0:d2}" -f $file.LastWriteTime.Month
$fday = "{0:d2}" -f $file.LastWriteTime.Day
$fhour = "{0:d2}" -f $file.LastWriteTime.Hour
$fmin = "{0:d2}" -f $file.LastWriteTime.Minute
$fsec = "{0:d2}" -f $file.LastWriteTime.Second
if ($folders.IsPresent -ne $false)
{
$this_path = ($file.Parent | select fullname).fullname
}
else
{
$this_path = $file.Directoryname
}
$oldname = $file.Name
$newname = $fyear + "-" + $fmonth + "-" + $fday + "__" + $fhour + "_" + $fmin + "_" + $fsec + $file.Extension
$newfullname = $this_path + "\" + $newname
$status = "[" + $filenumber + " / " + $filecount + "] - " + $newname + " <- " + $oldname
$percentcomplete = ( ($filenumber / $filecount ) * 100 )
$filenumber++
# "This Path: " + $this_path
# "Oldname: " + $oldname
# "Newname:" + $newname
# "Fullname: " + $file.Fullname
# "NewFullname: " + $newfullname
if ($oldname -eq $newname)
{
$status = "[" + $filenumber + " / " + $filecount + "] - SKIPPED (already done) - " + $newname + " <- " + $oldname
Write-Progress -Activity "Renaming..." -Status $status -PercentComplete $percentcomplete
# Write-Host "Skipped $oldname"
}
else
{
if (Test-Path -Path $newfullname)
{
# $status = "[" + $filenumber + " / " + $filecount + "] - Finding suffix - " + $newname + " <- " + $oldname
# "--- Finding Suffix."
# Write-Progress -Activity "Renaming..." -Status $status -PercentComplete $percentcomplete
for (($suffix = 1), ($found = $false); $found -eq $false; $suffix++ )
{
$testname = $fyear + "-" + $fmonth + "-" + $fday + "__" + $fhour + "_" + $fmin + "_" + $fsec + "_" + $suffix + $file.Extension
$testfullname = $this_path + "\" + $testname
if (Test-Path -Path $testfullname)
{
# file exists. skip name.
}
else
{
$found = $true
$newfullname = $testfullname
# $status = "[" + $filenumber + " / " + $filecount + "] - Found Suffix - " + $testname + " <- " + $oldname
# "--- Found Name: " + $newfullname
# Write-Progress -Activity "Renaming..." -Status $status -PercentComplete $percentcomplete
}
}
}
Write-Progress -Activity "Renaming..." -Status $status -PercentComplete $percentcomplete
Rename-Item -Path $file.Fullname -NewName $newfullname
}
}
}
# ----------------------------------------------------------------
$ascii_char_a_1 = '░█████╗░░'
$ascii_char_a_2 = '██╔══██╗░'
$ascii_char_a_3 = '███████║░'
$ascii_char_a_4 = '██╔══██║░'
$ascii_char_a_5 = '██║░░██║░'
$ascii_char_a_6 = '╚═╝░░╚═╝░'
$ascii_char_a_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_b_1 = '██████╗░░'
$ascii_char_b_2 = '██╔══██╗░'
$ascii_char_b_3 = '██████╔╝░'
$ascii_char_b_4 = '██╔══██╗░'
$ascii_char_b_5 = '██████╔╝░'
$ascii_char_b_6 = '╚═════╝░░'
$ascii_char_b_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_c_1 = '░██████╗░'
$ascii_char_c_2 = '██╔════╝░'
$ascii_char_c_3 = '██║░░░░░░'
$ascii_char_c_4 = '██║░░░░░░'
$ascii_char_c_5 = '╚██████╗░'
$ascii_char_c_6 = '░╚═════╝░'
$ascii_char_c_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_d_1 = '██████╗░░'
$ascii_char_d_2 = '██╔══██╗░'
$ascii_char_d_3 = '██║░░██║░'
$ascii_char_d_4 = '██║░░██║░'
$ascii_char_d_5 = '██████╔╝░'
$ascii_char_d_6 = '╚═════╝░░'
$ascii_char_d_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_e_1 = '███████╗░'
$ascii_char_e_2 = '██╔════╝░'
$ascii_char_e_3 = '█████╗░░░'
$ascii_char_e_4 = '██╔══╝░░░'
$ascii_char_e_5 = '███████╗░'
$ascii_char_e_6 = '╚══════╝░'
$ascii_char_e_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_f_1 = '███████╗░'
$ascii_char_f_2 = '██╔════╝░'
$ascii_char_f_3 = '█████╗░░░'
$ascii_char_f_4 = '██╔══╝░░░'
$ascii_char_f_5 = '██║░░░░░░'
$ascii_char_f_6 = '╚═╝░░░░░░'
$ascii_char_f_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_g_1 = '░██████╗░░'
$ascii_char_g_2 = '██╔════╝░░'
$ascii_char_g_3 = '██║░░███╗░'
$ascii_char_g_4 = '██║░░░██║░'
$ascii_char_g_5 = '╚██████╔╝░'
$ascii_char_g_6 = '░╚═════╝░░'
$ascii_char_g_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_h_1 = '██╗░░██╗░░'
$ascii_char_h_2 = '██║░░██║░░'
$ascii_char_h_3 = '███████║░░'
$ascii_char_h_4 = '██╔══██║░░'
$ascii_char_h_5 = '██║░░██║░░'
$ascii_char_h_6 = '╚═╝░░╚═╝░░'
$ascii_char_h_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_i_1 = '██╗░'
$ascii_char_i_2 = '██║░'
$ascii_char_i_3 = '██║░'
$ascii_char_i_4 = '██║░'
$ascii_char_i_5 = '██║░'
$ascii_char_i_6 = '╚═╝░'
$ascii_char_i_width = '░░░░'
# ----------------------------------------------------------------
$ascii_char_j_1 = '░░░░░██╗░'
$ascii_char_j_2 = '░░░░░██║░'
$ascii_char_j_3 = '░░░░░██║░'
$ascii_char_j_4 = '██░░░██║░'
$ascii_char_j_5 = '╚█████╔╝░'
$ascii_char_j_6 = '░╚════╝░░'
$ascii_char_j_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_k_1 = '██╗░░██╗░'
$ascii_char_k_2 = '██║░██╔╝░'
$ascii_char_k_3 = '█████╔╝░░'
$ascii_char_k_4 = '██╔═██╗░░'
$ascii_char_k_5 = '██║░░██╗░'
$ascii_char_k_6 = '╚═╝░░╚═╝░'
$ascii_char_k_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_l_1 = '██╗░░░░░░'
$ascii_char_l_2 = '██║░░░░░░'
$ascii_char_l_3 = '██║░░░░░░'
$ascii_char_l_4 = '██║░░░░░░'
$ascii_char_l_5 = '███████╗░'
$ascii_char_l_6 = '╚══════╝░'
$ascii_char_l_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_m_1 = '███╗░░░███╗░'
$ascii_char_m_2 = '████╗░████║░'
$ascii_char_m_3 = '██╔████╔██║░'
$ascii_char_m_4 = '██║╚██╔╝██║░'
$ascii_char_m_5 = '██║░╚═╝░██║░'
$ascii_char_m_6 = '╚═╝░░░░░╚═╝░'
$ascii_char_m_width = '░░░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_n_1 = '███╗░░░██╗░'
$ascii_char_n_2 = '████╗░░██║░'
$ascii_char_n_3 = '██╔██╗░██║░'
$ascii_char_n_4 = '██║╚██╗██║░'
$ascii_char_n_5 = '██║░╚████║░'
$ascii_char_n_6 = '╚═╝░░╚═══╝░'
$ascii_char_n_width = '░░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_o_1 = '░██████╗░░'
$ascii_char_o_2 = '██╔═══██╗░'
$ascii_char_o_3 = '██║░░░██║░'
$ascii_char_o_4 = '██║░░░██║░'
$ascii_char_o_5 = '╚██████╔╝░'
$ascii_char_o_6 = '░╚═════╝░░'
$ascii_char_o_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_p_1 = '██████╗░░'
$ascii_char_p_2 = '██╔══██╗░'
$ascii_char_p_3 = '██████╔╝░'
$ascii_char_p_4 = '██╔═══╝░░'
$ascii_char_p_5 = '██║░░░░░░'
$ascii_char_p_6 = '╚═╝░░░░░░'
$ascii_char_p_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_q_1 = '░██████╗░░'
$ascii_char_q_2 = '██╔═══██╗░'
$ascii_char_q_3 = '██║░░░██║░'
$ascii_char_q_4 = '██║▄▄░██║░'
$ascii_char_q_5 = '╚██████╔╝░'
$ascii_char_q_6 = '░╚══▀▀═╝░░'
$ascii_char_q_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_r_1 = '██████╗░░'
$ascii_char_r_2 = '██╔══██╗░'
$ascii_char_r_3 = '██████╔╝░'
$ascii_char_r_4 = '██╔══██╗░'
$ascii_char_r_5 = '██║░░██║░'
$ascii_char_r_6 = '╚═╝░░╚═╝░'
$ascii_char_r_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_s_1 = '███████╗░'
$ascii_char_s_2 = '██╔════╝░'
$ascii_char_s_3 = '███████╗░'
$ascii_char_s_4 = '╚════██║░'
$ascii_char_s_5 = '███████║░'
$ascii_char_s_6 = '╚══════╝░'
$ascii_char_s_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_t_1 = '████████╗░'
$ascii_char_t_2 = '╚══██╔══╝░'
$ascii_char_t_3 = '░░░██║░░░░'
$ascii_char_t_4 = '░░░██║░░░░'
$ascii_char_t_5 = '░░░██║░░░░'
$ascii_char_t_6 = '░░░╚═╝░░░░'
$ascii_char_t_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_u_1 = '██╗░░░██╗░'
$ascii_char_u_2 = '██║░░░██║░'
$ascii_char_u_3 = '██║░░░██║░'
$ascii_char_u_4 = '██║░░░██║░'
$ascii_char_u_5 = '╚██████╔╝░'
$ascii_char_u_6 = '░╚═════╝░░'
$ascii_char_u_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_v_1 = '██╗░░░██╗░'
$ascii_char_v_2 = '██║░░░██║░'
$ascii_char_v_3 = '██║░░░██║░'
$ascii_char_v_4 = '╚██╗░██╔╝░'
$ascii_char_v_5 = '░╚████╔╝░░'
$ascii_char_v_6 = '░░╚═══╝░░░'
$ascii_char_v_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_w_1 = '██╗░░░░██╗░'
$ascii_char_w_2 = '██║░░░░██║░'
$ascii_char_w_3 = '██║░█╗░██║░'
$ascii_char_w_4 = '██║███╗██║░'
$ascii_char_w_5 = '╚███╔███╔╝░'
$ascii_char_w_6 = '░╚══╝╚══╝░░'
$ascii_char_w_width = '░░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_x_1 = '██╗░░██╗░'
$ascii_char_x_2 = '╚██╗██╔╝░'
$ascii_char_x_3 = '░╚███╔╝░░'
$ascii_char_x_4 = '░██╔██╗░░'
$ascii_char_x_5 = '██╔╝░██╗░'
$ascii_char_x_6 = '╚═╝░░╚═╝░'
$ascii_char_x_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_y_1 = '██╗░░░██╗░'
$ascii_char_y_2 = '╚██╗░██╔╝░'
$ascii_char_y_3 = '░╚████╔╝░░'
$ascii_char_y_4 = '░░╚██╔╝░░░'
$ascii_char_y_5 = '░░░██║░░░░'
$ascii_char_y_6 = '░░░╚═╝░░░░'
$ascii_char_y_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_z_1 = '███████╗░'
$ascii_char_z_2 = '╚══███╔╝░'
$ascii_char_z_3 = '░░███╔╝░░'
$ascii_char_z_4 = '░███╔╝░░░'
$ascii_char_z_5 = '███████╗░'
$ascii_char_z_6 = '╚══════╝░'
$ascii_char_z_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_1_1 = '░██╗░'
$ascii_char_1_2 = '███║░'
$ascii_char_1_3 = '╚██║░'
$ascii_char_1_4 = '░██║░'
$ascii_char_1_5 = '░██║░'
$ascii_char_1_6 = '░╚═╝░'
$ascii_char_1_width = '░░░░░'
# ----------------------------------------------------------------
$ascii_char_2_1 = '██████╗░░'
$ascii_char_2_2 = '╚════██╗░'
$ascii_char_2_3 = '░█████╔╝░'
$ascii_char_2_4 = '██╔═══╝░░'
$ascii_char_2_5 = '███████╗░'
$ascii_char_2_6 = '╚══════╝░'
$ascii_char_2_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_3_1 = '██████╗░░'
$ascii_char_3_2 = '╚════██╗░'
$ascii_char_3_3 = '░█████╔╝░'
$ascii_char_3_4 = '░╚═══██╗░'
$ascii_char_3_5 = '██████╔╝░'
$ascii_char_3_6 = '╚═════╝░░'
$ascii_char_3_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_4_1 = '██╗░░██╗░'
$ascii_char_4_2 = '██║░░██║░'
$ascii_char_4_3 = '███████║░'
$ascii_char_4_4 = '╚════██║░'
$ascii_char_4_5 = '░░░░░██║░'
$ascii_char_4_6 = '░░░░░╚═╝░'
$ascii_char_4_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_5_1 = '███████╗░'
$ascii_char_5_2 = '██╔════╝░'
$ascii_char_5_3 = '███████╗░'
$ascii_char_5_4 = '╚════██║░'
$ascii_char_5_5 = '███████║░'
$ascii_char_5_6 = '╚══════╝░'
$ascii_char_5_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_6_1 = '░██████╗░'
$ascii_char_6_2 = '██╔════╝░'
$ascii_char_6_3 = '███████╗░'
$ascii_char_6_4 = '██╔═══██╗'
$ascii_char_6_5 = '╚██████╔╝'
$ascii_char_6_6 = '░╚═════╝░'
$ascii_char_6_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_7_1 = '███████╗░'
$ascii_char_7_2 = '╚════██║░'
$ascii_char_7_3 = '░░░░██╔╝░'
$ascii_char_7_4 = '░░░██╔╝░░'
$ascii_char_7_5 = '░░░██║░░░'
$ascii_char_7_6 = '░░░╚═╝░░░'
$ascii_char_7_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_8_1 = '░█████╗░░'
$ascii_char_8_2 = '██╔══██╗░'
$ascii_char_8_3 = '╚█████╔╝░'
$ascii_char_8_4 = '██╔══██╗░'
$ascii_char_8_5 = '╚█████╔╝░'
$ascii_char_8_6 = '░╚════╝░░'
$ascii_char_8_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_9_1 = '░█████╗░░'
$ascii_char_9_2 = '██╔══██╗░'
$ascii_char_9_3 = '╚██████║░'
$ascii_char_9_4 = '░╚═══██║░'
$ascii_char_9_5 = '░█████╔╝░'
$ascii_char_9_6 = '░╚════╝░░'
$ascii_char_9_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_0_1 = '░██████╗░░'
$ascii_char_0_2 = '██╔═████╗░'
$ascii_char_0_3 = '██║██╔██║░'
$ascii_char_0_4 = '████╔╝██║░'
$ascii_char_0_5 = '╚██████╔╝░'
$ascii_char_0_6 = '░╚═════╝░░'
$ascii_char_0_width = '░░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_excl_1 = '██╗░'
$ascii_char_excl_2 = '██║░'
$ascii_char_excl_3 = '██║░'
$ascii_char_excl_4 = '╚═╝░'
$ascii_char_excl_5 = '██╗░'
$ascii_char_excl_6 = '╚═╝░'
$ascii_char_excl_width = '░░░░'
# ----------------------------------------------------------------
$ascii_char_slash_1 = '░░░░██╗░'
$ascii_char_slash_2 = '░░░██╔╝░'
$ascii_char_slash_3 = '░░██╔╝░░'
$ascii_char_slash_4 = '░██╔╝░░░'
$ascii_char_slash_5 = '██╔╝░░░░'
$ascii_char_slash_6 = '╚═╝░░░░░'
$ascii_char_slash_width = '░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_bracko_1 = '░██╗░'
$ascii_char_bracko_2 = '██╔╝░'
$ascii_char_bracko_3 = '██║░░'
$ascii_char_bracko_4 = '██║░░'
$ascii_char_bracko_5 = '╚██╗░'
$ascii_char_bracko_6 = '░╚═╝░'
$ascii_char_bracko_width = '░░░░░'
# ----------------------------------------------------------------
$ascii_char_brackc_1 = '██╗░░'
$ascii_char_brackc_2 = '╚██╗░'
$ascii_char_brackc_3 = '░██║░'
$ascii_char_brackc_4 = '░██║░'
$ascii_char_brackc_5 = '██╔╝░'
$ascii_char_brackc_6 = '╚═╝░░'
$ascii_char_brackc_width = '░░░░░'
# ----------------------------------------------------------------
$ascii_char_quest_1 = '██████╗░░'
$ascii_char_quest_2 = '╚════██╗░'
$ascii_char_quest_3 = '░░▄███╔╝░'
$ascii_char_quest_4 = '░░▀▀══╝░░'
$ascii_char_quest_5 = '░░██╗░░░░'
$ascii_char_quest_6 = '░░╚═╝░░░░'
$ascii_char_quest_width = '░░░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_space_1 = '░░░░░'
$ascii_char_space_2 = '░░░░░'
$ascii_char_space_3 = '░░░░░'
$ascii_char_space_4 = '░░░░░'
$ascii_char_space_5 = '░░░░░'
$ascii_char_space_6 = '░░░░░'
$ascii_char_space_width = '░░░░░'
# ----------------------------------------------------------------
$ascii_char_dash_1 = '░░░░░░░'
$ascii_char_dash_2 = '░░░░░░░'
$ascii_char_dash_3 = '█████╗░'
$ascii_char_dash_4 = '╚════╝░'
$ascii_char_dash_5 = '░░░░░░░'
$ascii_char_dash_6 = '░░░░░░░'
$ascii_char_dash_width = '░░░░░░░'
# ----------------------------------------------------------------
$ascii_char_fulls_1 = '░░░░'
$ascii_char_fulls_2 = '░░░░'
$ascii_char_fulls_3 = '░░░░'
$ascii_char_fulls_4 = '░░░░'
$ascii_char_fulls_5 = '██╗░'
$ascii_char_fulls_6 = '╚═╝░'
$ascii_char_fulls_width = '░░░░'
function global:Fat-Message
{
param(
[parameter(Mandatory=$true, ParameterSetName="message",Position=0)]$message
)
$arraylength = $message.length - 1
$header_line = $ascii_char_space_width
$line_1 = $ascii_char_space_1
$line_2 = $ascii_char_space_2
$line_3 = $ascii_char_space_3
$line_4 = $ascii_char_space_4
$line_5 = $ascii_char_space_5
$line_6 = $ascii_char_space_6
$footer_line = $ascii_char_space_width
for ($charnum = 0; $charnum -le $arraylength ; $charnum++ )
{
$char = $message[$charnum]
# $char
if ( $char -eq " " )
{
$char = "space"
}
if ( $char -eq "-" )
{
$char = "dash"
}
if ( $char -eq "/" )
{
$char = "slash"
}
if ( $char -eq "!" )
{
$char = "excl"
}
if ( $char -eq "." )
{
$char = "fulls"
}
if ( $char -eq "?" )
{
$char = "quest"
}
if ( $char -eq "(" )
{
$char = "bracko"
}
if ( $char -eq ")" )
{
$char = "brackc"
}
# Create Variable Name Table
# $() evaluate with Pipe
1..6 | ? { New-Variable -Force -Name $("charvar_name_" + $_) -Value $("ascii_char_" + $char + "_" + $_)}
New-Variable -Force -Name "charvar_name_width" -Value $("ascii_char_" + $char + "_width")
# Fill Variables with Content
# Get-Variable in Get-Variable
1..6 | ? { New-Variable -Force -Name $("line_" + $_ + "_add") -Value $(Get-Variable -Name $(Get-Variable -Name $("charvar_name_" + $_ )).value -ErrorAction SilentlyContinue ).Value -ErrorAction SilentlyContinue}
New-Variable -Force -Name "width_add" -Value $(Get-Variable -Name $(Get-Variable -Name $("charvar_name_" + "width" )).value -ErrorAction SilentlyContinue ).Value -ErrorAction SilentlyContinue
$header_line = $header_line + $width_add
$line_1 = $line_1 + $line_1_add
$line_2 = $line_2 + $line_2_add
$line_3 = $line_3 + $line_3_add
$line_4 = $line_4 + $line_4_add
$line_5 = $line_5 + $line_5_add
$line_6 = $line_6 + $line_6_add
$footer_line = $footer_line + $width_add
}
$header_line = $header_line + $ascii_char_space_width
$line_1 = $line_1 + $ascii_char_space_1
$line_2 = $line_2 + $ascii_char_space_2
$line_3 = $line_3 + $ascii_char_space_3
$line_4 = $line_4 + $ascii_char_space_4
$line_5 = $line_5 + $ascii_char_space_5
$line_6 = $line_6 + $ascii_char_space_6
$footer_line = $footer_line + $ascii_char_space_width
$header_line
$line_1
$line_2
$line_3
$line_4
$line_5
$line_6
$footer_line
}
