New-Item $env:TEMP\spark.properties -type file -force -value "#Spark Settings #Fri Jul 28 21:20:52 BRT 2017 username=SeuSiape ccAdvancedConfig=true hostAndPort=false proxyEnabled=false windowTakesFocus=false useVersionAsResource=false compressionOn=false notifyOnOffline=false disableAsteriskToasterPopup=false checkForBeta=false trustStorePassword= videoDevice=imgstreaming\:0 audioDevice=audiosilence\: SelectedCodecs=ALAW/rtp^ULAW/rtp^gsm/rtp^g723/rtp^ xmppHost= isMucRandomColors=true isMucHighNameOn=false isMucHighTextOn=false AvailableCodecs= resource=Spark SystemTrayNotificationEnabled=false showOfflineUsers=false loginAnonymously=false server=chat.cefetes.br useHostnameAsResource=false showHistory=true DisableHostnameVerification=true pkiEnabled=false debuggerEnabled=false notifyOnOnline=false showPrevHistory=true DisplayTime=1000 ccInvisibleLogin=true ssoEnabled=false toasterPopup=false pkiStore=JKS xmppPort=5222 proxyPassword= isMucHighToastOn=false buzzEnabled=true stunFallbackHost= HISTORY_SORT_DATEASC=true loginAsInvisibleEnabled=false isShowingRoleIcons=false timeFormat=HH\:mm protocol=SOCKS lastUpdateCheck=1501287514968 showTypingNotification=false proxyUsername= showEmptyGroups=false timeout=10 ccAnonymousLogin=true AcceptAllCertificates=true chatNotificationOn=true offlineGroupVisible=true password jksPath= autoAcceptMucInvite=false audioSystem=wasapi timeDisplayed=true ccAccountsReg=true ccHostNameChange=true useAdHocRoom=true tabsOnTop=true passwordSaved=true ccPswdAutologin=true defaultChatLengthTimeout=15 isShowJoinLeaveMessagesOn=true autoLoginEnabled=true stunFallbackPort=3478 sslEnabled=false trustStorePath= playbackDevice=wasapi\:{3.0.0.00000002}.{6C26BA7D-F0B2-4225-B422-8168C5261E45} ssoMethod=file saslGssapiSmack3compat=false " | out-null ###### $date = Get-Date $App = "Spark" $Version = "2.8.3" $AppExe = "C:\Program Files (x86)\Spark\Spark.exe" #executavel do aplicativo após instalação $AppDate = "2017-01-29" #data do aplicativo, para verificar a atualização $SourceFile = "\\gr-fs\install\Padrao\Aplicativos\spark_2_8_3_online.exe" #local do installer na rede $spark_properties = "$env:TEMP\spark.properties" $FileExe = "$env:TEMP\spark_2_8_3.exe" #local do installer na maquina $Parameters = "-q" #parametros de instalação $Process = "Installer" #nome do processo do installer $LogFile = "$env:TEMP_$env:computername.txt" #arquivo de log de instalação e atualização # Função para a instalação do aplicativo # function instalar ($Arg1,$Arg2) { if (!(test-path $FileExe)) #Arquivo de instalação local encontrado? { if (test-path "$env:TEMP\spark*.exe") #remove arquivos de instalação antigos se existirem {Get-ChildItem "$env:TEMP\spark_*.exe"|ForEach-Object { Remove-Item $_ } } Copy-Item -Path $SourceFile -Destination $FileExe | out-null #copia o arquivo de instalação novo start-sleep 10 } $proc = Get-Process if ($proc.name -contains "Spark") {Stop-Process -Name Spark -Force -Confirm} & $Arg1 + $Arg2 start-sleep 20 #aguarda o processo de instalação iniciar Do { #aguarda a finalização do processo start-sleep 10 $proc = Get-Process } While ($proc.name -contains $Process) $date = Get-Date Add-Content -Path $LogFile -Value ("O $App versão $Version foi instalado em $date") # Substituição do arquivo de configuração para todos os usuários da maquina $Users = Get-ChildItem -Directory -Path C:\Users ForEach ($User in $Users){ $dir = "C:\Users\" + $User.name + "\AppData\Roaming\Spark" if (!(test-path $dir)) {mkdir $dir} $file = $dir + "\spark.properties" Copy-Item -Path $spark_properties -Destination $file | out-null } } # Inicio da rotina de verificação da instalação do aplicativo # if (test-path $AppExe) #Aplicativo Instalado? { if ((Get-ItemPropertyValue -Name lastwritetime -Path $AppExe) -gt (get-date $AppDate)) { instalar $FileExe $Parameters} } else { instalar $FileExe $Parameters } # Substituição do arquivo de configuração padrão para os novos usuários da maquina $dir = "C:\Users\Default\AppData\Roaming\Spark" if (!(test-path $dir)) {mkdir $dir} $file = $dir + "\spark.properties" Copy-Item -Path $spark_properties -Destination $file | out-null