-
Notifications
You must be signed in to change notification settings - Fork 16
/
Install-TheFucker.ps1
30 lines (23 loc) · 1.08 KB
/
Install-TheFucker.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
try {
Test-Path $env:PSModulePath.Split(';')[0] | Out-Null
$dst = (Join-Path $env:PSModulePath.Split(';')[0] PoShFuck)
} catch {
$dst = "$env:ProgramFiles\WindowsPowerShell\Modules\PoShFuck"
}
$pfk = (Join-Path $env:temp "poshfuck.zip")
md $dst -ea silentlycontinue
[Net.ServicePointManager]::SecurityProtocol = "tls12"
Invoke-WebRequest 'https://github.com/mattparkes/PoShFuck/archive/master.zip' -OutFile $pfk
$shell = New-Object -ComObject Shell.Application; $shell.Namespace($dst).copyhere(($shell.NameSpace($pfk)).items(),20)
Move-Item "$dst\PoShFuck-master\*" "$dst" -Force
Remove-Item "$dst\PoShFuck-master" -Recurse -Force
Remove-Item $pfk -Force
if ($null -eq $profile -or (-not(Test-Path $profile))) {
Write-Output "Import-Module PoShFuck" | Out-File $profile -Force -encoding utf8
Write-Output "Created $profile"
} elseif ( -not(Select-String -Path $profile -Pattern "Import-Module PoShFuck")) {
Write-Output "`nImport-Module PoShFuck" | Out-File $profile -Append -encoding utf8
Write-Output "Added PoShFuck to profile"
}
Import-Module PoShFuck
Write-Output "Installation complete."