Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $TranscriptPath = "ServerTranscriptLocation" + $env:COMPUTERNAME
- If (!(Test-Path $TranscriptPath))
- {
- md $TranscriptPath
- }
- $TranscriptLocation = $TranscriptPath + "\" + $(get-date -f yyyy-MM-dd-hh-mm) + ".txt"
- Start-Transcript -path $TranscriptLocation
- If (Test-Path "C:\Chocolatey\bin\chocolatey.exe")
- {
- Write-Host `r`n
- Write-Output "Found Chocolatey Install"
- Write-Host `r`n
- $Chocopath = "C:\Chocolatey\bin"
- } ElseIf (Test-Path "C:\ProgramData\Chocolatey\bin\chocolatey.exe")
- {
- Write-Host `r`n
- Write-Output "Found Chocolatey Install"
- Write-Host `r`n
- $Chocopath = "C:\ProgramData\Chocolatey\bin"
- } ELSE {
- iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
- If (Test-Path "C:\Chocolatey\bin\chocolatey.exe")
- {
- Write-Host `r`n
- Write-Output "Found Chocolatey Install"
- Write-Host `r`n
- $Chocopath = "C:\Chocolatey\bin"
- } ElseIf (Test-Path "C:\ProgramData\Chocolatey\bin\chocolatey.exe")
- {
- Write-Host `r`n
- Write-Output "Found Chocolatey Install"
- Write-Host `r`n
- $Chocopath = "C:\ProgramData\Chocolatey\bin"
- }
- }
- $InstalledExp = $Chocopath + '\chocolatey.exe list -lo | ForEach {$_.Substring(0,$_.IndexOf(" "))} | Where {$_ -ne "Reading" -and $_ -ne "No" -and $_ -ne "The" -and $_.Length -gt 0}'
- $Installed = Invoke-Expression $InstalledExp
- ForEach ($i in $Installed)
- {
- If ($i.Length -gt 0)
- {
- $Update = $Chocopath + "\cup.exe " + $i
- Write-Host Checking for $i update.
- Write-Host `r`n
- Invoke-Expression $Update | Out-Host
- Write-Host `r`n
- }
- }
- $InstallListPath = "PathToInstallList" + "\chocolatey_installs.txt"
- $InstallList = Get-Content $InstallListPath
- IF ($Installed -ne $null)
- {
- IF ($InstallList -ne $null)
- {
- $ToInstall = Compare-Object $Installed $InstallList | Where-Object {$_.SideIndicator -eq "=>"} | Select-Object -ExpandProperty InputObject
- }
- ELSE
- {
- EXIT
- }
- }
- ELSE
- {
- IF ($InstallList -ne $null)
- {
- $ToInstall = $InstallList
- }
- ELSE
- {
- EXIT
- }
- }
- ForEach ($i in $ToInstall)
- {
- If ($i.Length -gt 0)
- {
- $Install = $Chocopath + "\cinst.exe " + $i
- Write-Host Installing $i.
- Write-Host `r`n
- Invoke-Expression $Install | Out-Host
- Write-Host `r`n
- }
- }
- Stop-Transcript
- EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement