Jump to content
kavaa

Install Dropbox with PowerShell

Recommended Posts

I made a install script for Dropbox to do a Silent install.

UPDATED VERSION 2 With auto detect if Invoke-WebRequest exists

Improvements are welcome!

Change the version if needed in the Source URL: https://www.dropbox.com/downloading?full=1&os=win

# Silent Install Dropbox 
# Download URL: https://www.dropbox.com/downloading?full=1&os=win

# Path for the workdir
$workdir = "c:\ictwebsolution\"

# Check if work directory exists if not create it

If (Test-Path -Path $workdir -PathType Container)
{ Write-Host "$workdir already exists" -ForegroundColor Red}
ELSE
{ New-Item -Path $workdir  -ItemType directory }

# Download the installer

$source = "https://www.dropbox.com/download?full=1&plat=win"
$destination = "$workdir\dropbox.exe"
Invoke-WebRequest $source -OutFile $destination

# Start the installation

Start-Process -FilePath "$workdir\dropbox.exe" -ArgumentList "/S"

# Wait XX Seconds for the installation to finish

Start-Sleep -s 60

# Remove the installer

rm -Force $workdir\dropbox*

For Windows 7 please change 

$source = "https://www.dropbox.com/download?full=1&plat=win"
$destination = "$workdir\dropbox.exe"
Invoke-WebRequest $source -OutFile $destination

To

$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile("https://www.dropbox.com/download?full=1&plat=win","$workdir\dropbox.exe")

Since Powershell in Windows 7 does not support the Invoke-WebRequest

Please let the user Log Off and On again after the installation of dropbox, then Dropbox wil auto start.

Share this post


Link to post
Share on other sites

Version 2

This version will check if the Invoke-WebRequest Command exists or not. For legacy Systems like Windows 7 you than only have one Script and don't need to change things in Pulseway

# Silent Install Dropbox 
# Download URL: https://www.dropbox.com/downloading?full=1&os=win

# Path for the workdir
$workdir = "c:\installer\"

# Check if work directory exists if not create it

If (Test-Path -Path $workdir -PathType Container)
{ Write-Host "$workdir already exists" -ForegroundColor Red}
ELSE
{ New-Item -Path $workdir  -ItemType directory }

# Download the installer

$source = "hhttps://www.dropbox.com/download?full=1&plat=win"
$destination = "$workdir\dropbox.exe"

# Check if Invoke-Webrequest exists otherwise execute WebClient

if (Get-Command 'Invoke-Webrequest')
{
     Invoke-WebRequest $source -OutFile $destination
}
else
{
    $WebClient = New-Object System.Net.WebClient
    $webclient.DownloadFile($source, $destination)
}

# Start the installation

Start-Process -FilePath "$workdir\dropbox.exe" -ArgumentList "/S"

# Wait XX Seconds for the installation to finish

Start-Sleep -s 60

# Remove the installer

rm -Force $workdir\dropbox*

Please let the user Log Off and On again after the installation of dropbox, then Dropbox wil auto start.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By unfeomateo
      I want to setup a SNMP notification for my canon printer.  The "printer status" OID will show nothing when the printer is working and show a number if there is an error. I have no idea what each and every error might show up as. 
      Is it possible to set the notification to alert me if that SNMP option changed from null to some number? Right now if I leave "value" blank I cannot click ok to finish. 
    • By kavaa
      I made a install script for 7-Zip to do a Silent install and clean if needed.
      Improvements are welcome!
      When a new version of 7-Zip comes out, just change the 7z1604-x64.msi to the new value.
      # Silent Install 7-Zip # http://www.7-zip.org/download.html # Path for the workdir $workdir = "c:\installer\" # Check if work directory exists if not create it If (Test-Path -Path $workdir -PathType Container) { Write-Host "$workdir already exists" -ForegroundColor Red} ELSE { New-Item -Path $workdir -ItemType directory } # Download the installer $source = "http://www.7-zip.org/a/7z1604-x64.msi" $destination = "$workdir\7-Zip.msi" # Check if Invoke-Webrequest exists otherwise execute WebClient if (Get-Command 'Invoke-Webrequest') { Invoke-WebRequest $source -OutFile $destination } else { $WebClient = New-Object System.Net.WebClient $webclient.DownloadFile($source, $destination) } Invoke-WebRequest $source -OutFile $destination # Start the installation msiexec.exe /i "$workdir\7-Zip.msi" /qn # Wait XX Seconds for the installation to finish Start-Sleep -s 35 # Remove the installer rm -Force $workdir\7*  
    • By lyoder
      This script will check to see if a VPN connection with the given name exists. If it does exist, it updates the VPN connection. If it does not exist, it creates a VPN connection with the given values.
      Note: I believe Pulseway runs PowerShell scripts under the Local System account by default (unless you have defined PowerShell User Impersonation in the Pulseway Manager, I think). In order to expose the VPN to users, this script runs against the Global Phone Book (-AllUserConnection switch). Therefore, this script does not check for the existence of VPN profiles stored in individual user Phone Books. (If an existing user VPN profile exists, this script will create a new VPN in the Global Phone Book, as it will not be able to see the existing user VPN.)
      This script was developed and tested on Windows 10, but should also work on Windows 8/8.1.
      PowerShell VpnClient documentation: https://docs.microsoft.com/en-us/powershell/module/vpnclient/?view=win10-ps
      ################################ # VARIABLES $Name = "VPN" $ServerAddress = "vpn.domain.com" # IP Address or FQDN $TunnelType = "Automatic" # Values: PPTP | L2TP | SSTP | IKEv2 | Automatic $L2tpPsk = '[Insert PSK Here]' $AuthenticationMethod = "MSCHAPv2" # Values: PAP | CHAP | MSCHAPv2 | EAP $EncryptionLevel = "Optional" # Values: NoEncryption | Optional | Required | Maximum $UseWinlogonCredential = $true $RememberCredential = $true $SplitTunneling = $true $DnsSuffix = 'domain.local' ################################ # If PowerShell supports VPN configuration, apply VPN configuration if (Get-Command 'Get-VpnConnection') { # If VPN exists, update VPN settings if (Get-VpnConnection -Name $Name -AllUserConnection -ErrorAction SilentlyContinue) { Set-VpnConnection -Name $Name -AllUserConnection -ServerAddress $ServerAddress -TunnelType $TunnelType -EncryptionLevel $EncryptionLevel -AuthenticationMethod $AuthenticationMethod -SplitTunneling $SplitTunneling -DnsSuffix $DnsSuffix -L2tpPsk $L2tpPsk -UseWinlogonCredential $UseWinlogonCredential -RememberCredential $RememberCredential -Force } # Else, create VPN connection else { Add-VpnConnection -Name $Name -AllUserConnection $true -ServerAddress $ServerAddress -TunnelType $TunnelType -EncryptionLevel $EncryptionLevel -AuthenticationMethod $AuthenticationMethod -DnsSuffix $DnsSuffix -L2tpPsk $L2tpPsk -Force Set-VpnConnection -Name $Name -AllUserConnection -SplitTunneling $SplitTunneling -UseWinlogonCredential $UseWinlogonCredential -RememberCredential $RememberCredential } return Get-VpnConnection -Name $Name -AllUserConnection exit } # Else, exit with failure code else { return "Client does not support VpnClient cmdlets" exit 1 }  
    • By awestwood
      Hi there!
      I am looking for a way to install a custom MSI pakage that I built on my endpoints via a script. I have the MSI package on my website. I need the script to download the MSI from my website, then execute in silent mode. Thank you!!
    • By dpbklyn
      Is there a way to exclude a particular disk (e:\) from the storage notifications?
×
×
  • Create New...