• Загрузка skype средствами PowerShell?

    @Zorichok Автор вопроса
    огромное спасибо за вашу помощь !!!
    если кому пригодится выкладываю финальную версию скрипта !!

    $PatchScrpts ="D:\SkypeInstal\Final"

    # Получаем с сервера актуальную версию СКАЙПА
    $uri = "https://get.skype.com/go/getskype-skypeforwindows"
    $request = Invoke-WebRequest -Uri $uri -method Get -MaximumRedirection 0 -ErrorAction SilentlyContinue
    $skype_ver_on_server = $request.Headers.Location
    # Разбираем получинаю строку вычленяем версию !!
    $skype_ver_on_server =$skype_ver_on_server -replace ".*/Skype-",""
    $skype_ver_on_server =$skype_ver_on_server -replace ".exe",""
    # версия хранится в $skype_ver_on_server

    #Подгружаем локальную версию
    $skype_ver_on_local = Get-Content $PatchScrpts\localver.txt
    # Сверяем версии локальюную и полученную с сервера ЕЛИ НЕ РАВНЫ качаем, меняем версию в 2 местах....
    if ( $skype_ver_on_local -ne $skype_ver_on_server )
    {
    # Качаем новую
    $Url = "https://go.skype.com/windows.desktop.download"
    $Path = $PatchScrpts + "\Skype-"+ $skype_ver_on_server + ".exe"
    $WebClient = New-Object System.Net.WebClient
    $WebClient.DownloadFile($url,$path)

    # Меняем в тхт
    $skype_ver_on_server | Out-File $PatchScrpts\localver.txt

    # Меняем в Батнике
    $FileName = $PatchScrpts+"\SkypeInst.Bat"
    $FileOriginal = Get-Content $FileName
    [String[]]$FileModified = @()
    [String]$string = "set VERSION="+$skype_ver_on_server
    Foreach ($Line in $FileOriginal){
    if ($Line.StartsWith("set VERSION="))
    {
    $FileModified += $Line.Replace($Line, $string)
    } else {
    $FileModified += $Line
    }

    }

    Set-Content $fileName $FileModified -Force

    }
    Ответ написан
    Комментировать