Задать вопрос
  • Как запросить права администратора при выполнение скрипта?

    @passstrada Автор вопроса
    получилось что-то такое:
    if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
        $scriptPath = $MyInvocation.MyCommand.Path
        $arguments = "-NoProfile -ExecutionPolicy Bypass -File `"$scriptPath`""
        Start-Process powershell -ArgumentList $arguments -Verb RunAs
        Exit
    }
    Ответ написан
    Комментировать
  • Как скачать последнюю версию файла через powershell?

    @passstrada Автор вопроса
    извиняюсь за путаницу, не правильное регулярное выражение, у меня все получилось:
    function Get-VersionsFromGitHub {
        $url = "https://github.com/abbodi1406/vcredist/releases"
        $response = Invoke-WebRequest -Uri $url
        $versions = $response.Content | Select-String -Pattern "v\d+\.\d+\.\d+" -AllMatches | ForEach-Object { $_.Matches.Value }
        return $versions
    }
    function Get-MaxVersion {
        param (
            [string[]]$versions
        )
        $maxVer = "v0.00.0"
        foreach ($version in $versions) {
    		if ($version -match "v(\d{1,2})\.(\d{1,2})\.(\d{1,2})") {
    					$currentVer = "v$($matches[1]).$($matches[2]).$($matches[3])"
                if ($currentVer -gt $maxVer) {
                    $maxVer = $currentVer
                }
            }
        }
        return $maxVer
    }
    $versions = Get-VersionsFromGitHub
    $latestVersion = Get-MaxVersion -versions $versions
    Write-Output "Max version product: $latestVersion"
    Invoke-WebRequest -Uri "https://github.com/abbodi1406/vcredist/releases/download/$latestVersion/VisualCppRedist_AIO_x86_x64.exe" -OutFile ".\VisualCppRedist_AIO_x86_x64.exe"
    Start-Process -FilePath ".\VisualCppRedist_AIO_x86_x64.exe" -ArgumentList "/y"  -Wait 
    Remove-Item -Path ".\VisualCppRedist_AIO_x86_x64.exe"
    pause
    exit

    спасибо за внимание
    Ответ написан
  • BAT, Как копировать файлы с папками по полным путям?

    @passstrada Автор вопроса
    Решение:
    Первое:
    xcopy "C:\Data" "C:\papka1" /e /h /k /q /r /c /y
    Второе:
    @echo off
    for /f "delims= eol=" %%f in ('type list.txt') do (
    if exist "%%f\" (
    robocopy "%%~dpf\" "C:\papka2%%~pf\" /xf * /e /njh /njs /v /log+:log.txt
    ) else ( robocopy "%%~dpf\" "C:\papka2%%~pf\" /fp /njh /njs /ns /nc /v /log+:log.txt "%%~nxf" )
    )
    Ответ написан
    Комментировать