X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/ef88c8132a2fa18e39324e652fd0554499fb8111..b7118db1d4cd260d6538e84438bfec80e2e14f52:/Microsoft.PowerShell_profile.ps1 diff --git a/Microsoft.PowerShell_profile.ps1 b/Microsoft.PowerShell_profile.ps1 index aa1d60f..7f54a1d 100644 --- a/Microsoft.PowerShell_profile.ps1 +++ b/Microsoft.PowerShell_profile.ps1 @@ -1,4 +1,19 @@ + +## Setup reminder: +# code $profile +# Set-ExecutionPolicy RemoteSigned +# . C:\src\dotfiles\Microsoft.PowerShell_profile.ps1 + + +Import-Module posh-git +# Courtesty of MKletz +# Get-ChildItem -Path 'C:\Repos' -Filter "*.psd1" -Recurse | ForEach-Object -Process { +# $Path = Split-Path -Path $_.Directory -Parent +# $env:PSModulePath = $env:PSModulePath + ";$($Path)" +#} +$env:PSModulePath = $env:PSModulePath.Replace("\\ad.uillinois.edu\techsvc\home\$($ENV:USERNAME)\Documents\PowerShell\Modules;",'') + # Kali linux env $ENV:PATH +=":/home/delaport/development/flutter/bin" # Flutter in Kali under WSL @@ -12,6 +27,16 @@ $ENV:PATH+=";C:\ProgramData\chocolatey\bin" # Package management is nice. $ENV:PATH+=";C:\Program Files\nodejs" # KataKoda wants to add tools via npm $ENV:PATH+=";C:\PENGUIN" # Flag to ensure my profile kicked in. + +function Find-LargeFiles() { + Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length, FullName +} + +function List-DriveSpace() { + Get-PSDrive C | Select-Object Used,Free +} + + function Start-Vault() { consul agent -dev # Run in Dev Mode vault sever -config c:\src\dotfiles\vaultconfig.hcl -address=http://127.0.0.1:8200 # Use local dev Consul as storage @@ -22,6 +47,7 @@ function New-DockerRStudio() { } function Start-DockerRStudio() { docker start rpython + jupyter notebook list Write-Host "R Studio is running at http://localhost:8787/" Write-Host "Jupyter is running at http://localhost:8888/" } @@ -34,4 +60,130 @@ function Start-DockerOWASPZap() { docker run owasp/zap2docker-stable docker run -i owasp/zap2docker-stable zap-cli quick-scan --self-contained --start-options '-config api.disablekey=true' $URL Write-Host "https://github.com/zaproxy/zaproxy/wiki/Docker" -} \ No newline at end of file +} + + +function Start-DockerWebGoat() { + docker pull webgoat/webgoat-8.0 + docker run -p 8080:8080 -t webgoat/webgoat-8.0 + Write-Host "Vulnerable Webgoat running on 8080" +} + +function Start-DockerJuiceShop() { + docker pull bkimminich/juice-shop + docker run --rm -p 3000:3000 bkimminich/juice-shop + Write-Host "Vulnerable Juice Shop running on 3000" +} + +function Start-DockerGrafana() { + docker run --rm -d --name=grafana -p 3001:3001 -user $ID --volume "C:\src\data:/var/lib/grafana" grafana/grafana + Write-Host "Grafana running on 3001" +} + +# Import some home grown PowerShell modules, if they are installed. +$modPaths = @("C:\src\dotfiles\ToyBox\toybox.psm1") +$modPaths | ForEach-Object { + $_ | Format-Table + if(Test-Path -Path $_) { + Import-Module $_ + Write-Host "Loaded $_" + } +} + +function Start-DockerPython3Bash { + docker run -it python /bin/bash +} + +function Start-DockerPython2Bash { + docker run -it python:2-buster /bin/bash +} + +function Stop-Docker { + docker stop $(docker ps -a -q) +} + +function New-DockerAirflow { + docker run -v ./:/etc/myscripts apache/airflow /bin/bash /etc/myscripts/airflow.sh + +} + +function Start-DockerAirflow { + docker run airflow -f webserver +} + +function Start-DockerFindSecrets { + # docker run -v "$((Get-Item .).FullName)":/etc/src dxa4481/trufflehog /bin/bash + # Write-Host "Current folder mounted as /etc/src" + docker run -v /c/src:/etc/src dxa4481/trufflehog /etc/src/SecOps-Tools +} + +function Export-VSCodeExtensions { + code --list-extensions | Out-File -FilePath /src/dotfiles/vscode-extensions.txt + Get-Content -Path /src/dotfiles/vscode-extensions.txt +} + + +#requires -version 5.1 +#ConvertTo-ASCIIArt.ps1 + +<# +font list at https://artii.herokuapp.com/fonts_list +font names are case-sensitive + +invoke-restmethod https://artii.herokuapp.com/fonts_list + +#> + +<# +.SYNOPSIS +Output strings as ASCII art fonts. + +.EXAMPLE +cart "Testing"-Font cursive + +.NOTES +From https://jdhitsolutions.com/blog/powershell/7278/friday-fun-powershell-ascii-art/ +#> +Function ConvertTo-ASCIIArt { + [cmdletbinding()] + [alias("cart")] + [outputtype([System.String])] + Param( + [Parameter(Position = 0, Mandatory, HelpMessage = "Enter a short string of text to convert", ValueFromPipeline)] + [ValidateNotNullOrEmpty()] + [string]$Text, + [Parameter(Position = 1,HelpMessage = "Specify a font from https://artii.herokuapp.com/fonts_list. Font names are case-sensitive")] + [ValidateNotNullOrEmpty()] + [string]$Font = "big" + ) + + Begin { + Write-Verbose "[$((Get-Date).TimeofDay) BEGIN] Starting $($myinvocation.mycommand)" + } #begin + + Process { + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Processing $text with font $Font" + $testEncode = [uri]::EscapeDataString($Text) + $url = "http://artii.herokuapp.com/make?text=$testEncode&font=$Font" + Try { + Invoke-Restmethod -Uri $url -DisableKeepAlive -ErrorAction Stop + } + Catch { + Throw $_ + } + } #process + End { + Write-Verbose "[$((Get-Date).TimeofDay) END ] Ending $($myinvocation.mycommand)" + } #end +} + + +#### User Configuraable Variables #### +## https://github.com/techservicesillinois/Powershell-SupportApp + +# Customize the title bar of your console. +[string]$SA_title="PowerShell Support App for U of I" +# Path to a text editor +[string]$SA_TextEditor="C:\Program Files (x86)\Notepad++\notepad++.exe" +$SA_Config_base=$true +import-module .\PowerShellSupportAppV2\PowerShellSupportAppV2.psm1 \ No newline at end of file