cari
RumahOperasi dan penyelenggaraanoperasi dan penyelenggaraan tingkapWindows Server 2008 R2 PowerShell自动部署IIS站点的代码详解

1、功能描述

  1. 连接软件源服务器下载.NET Framework 4.0、.NET Framework 4.5。

  2. 检测并判断当前.NET Framework版本是否小于v4.0,如果小于则进行升级。

  3. 安装IIS组件,安装完成后删除软件及脚本。

  在升级.NET Framework时,是先从3.5升级(可以通过执行命令"Add-WindowsFeature As-Net-Framework"直接安装3.5),然后依次升级4.0、4.5。

2、实现

  源码如下:

# eastmoney public tools# version: v1.0.2# create by XuHoo, 2016-9-27#try {
    Import-Module ServerManager -ErrorAction Stop
    Import-Module BitsTransfer -ErrorAction Stop
}
catch {
    Write-Warning "$_"; exit
}$packages_path = "D:\software"  # Packages storage directoryfunction Download() {    $isExists = Test-Path $packages_path
    if(!$isExists) {
        New-Item -ItemType Directory $packages_path
    }    # instantiate a socket object,
    # Try connect to download the source
    $testConn = New-Object Net.Sockets.TcpClient    $testConn.Connect("$address", 80)  # $address need to custom
    if($testConn) {
        Start-BitsTransfer $address/dotnet4.0.exe $packages_path
        Start-BitsTransfer $address/dotnet4.5.exe $packages_path
        return $true
    } else {        return $false
    }
}function CheckVersion {    # To detect the .NET Framework whether exists in the registry
    $isExists = Test-Path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\"
    if(!$isExists) {        return $false
    } else {        # Returns the current .NET Framework version
        $version = gci "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" | sort pschildname -desc | select -fi 1 -exp pschildname        return $version
    }
}function Update {
    Add-WindowsFeature As-Net-Framework  # Update .NET Framework 3.5
    # The first cycle:
    #   Perfrom CheckVersion function, returns the value assigned to $response
    #   If $response < 4.0, start install dotnet 4.0 and dotnet 4.5
    #   Enter the second loop
    # The second cycle:
    #   Again to perfrom CheckVersion function
    #   If the installation is successful,
    #   the value of variable $response at this time will be greater than 4.0,
    #   the output corrent .NET Framework version and returns $true
    for($i=0;$i -lt 2;$i++) {        $response = CheckVersion        if($response -lt "v4.0") {
            Start-Process -Wait $packages_path\dotnet4.0.exe -ArgumentList "/quiet"
            Start-Process -Wait $packages_path\dotnet4.5.exe -ArgumentList "/quiet"
        } else {
            Write-Host "DotNET current version is: $response"
            return $true
        }
    }    # Above cycle without entering the return statement,
    # then .NET Framework update failed, this function will return the $false
    return $false}function Install {    $features = Get-WindowsFeature Web-Server,Web-Static-Content,Web-Default-Doc,Web-Http-Errors,Web-Http-Redirect,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Http-Logging,Web-Request-Monitor,Web-Filtering,Web-IP-Security,Web-Stat-Compression,Web-Mgmt-Console,Web-WHC    # Install IIS features
    foreach($item in $features) {
        Add-WindowsFeature $item
    }
    Remove-WindowsFeature Web-Dir-Browsing  # Delete "Web-Dir-Browsing" function}function Registry {    $is64bit = [IntPtr]::Size -eq 8  # To determine whether a system is 64-bit
    $isapiPath_32 = "$env:windir\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
    Set-Location "$env:windir\Microsoft.NET\Framework\v4.0.30319\"; .\aspnet_regiis.exe -i    if($is64bit) {        $isapiPath_64 = "$env:windir\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
        Set-Location "$env:windir\Microsoft.NET\Framework64\v4.0.30319\"; .\aspnet_regiis.exe -i
    }
}

try {    $chkGet_result = Download    $chkUp_result = Update    if($chkUp_result) {
        Install; Registry
    } else {
        Write-Warning "Update .NET Framework error."
    }
}
catch {
    Write-Warning "$_"; exit
}finally {
    Remove-Item $packages_path -Recurse
    Remove-Item $MyInvocation.MyCommand.Path -Force
}

 

Atas ialah kandungan terperinci Windows Server 2008 R2 PowerShell自动部署IIS站点的代码详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual