Como instalar o .NET Framework 4 usando o PowerShell

À medida que as operações de TI evoluíram e se tornaram mais complexas, a automação se estabeleceu como uma pedra angular. Não se pode ignorar a importância dos scripts, especialmente do PowerShell, nas infraestruturas de TI modernas. O PowerShell, com sua capacidade de automatizar e simplificar tarefas, tornou-se indispensável. Hoje, discutiremos um script específico do PowerShell desenvolvido para instalar o .NET Framework 4, uma base essencial para muitos aplicativos.

Histórico

O .NET Framework da Microsoft atua como uma plataforma de desenvolvimento de software, fornecendo serviços, bibliotecas e ferramentas necessárias para desenvolver e executar uma grande variedade de aplicativos. É fundamental que os profissionais de TI e os provedores de serviços gerenciados (MSPs) tenham um método eficiente de instalar essa estrutura, garantindo que os aplicativos sejam executados sem problemas. Nosso script do PowerShell atende a essa finalidade com funcionalidades adicionais, como a capacidade de instalar a partir de uma fonte off-line.

O roteiro

#Requires -Version 5.1

<#
.SYNOPSIS
    Install NetFx4 features(.NET 4.x), with the option to install from an offline source.
.DESCRIPTION
    Install NetFx4 features(.NET 4.x), with the option to install from an offline source.
    An offline source can be an attached CD/DVD image of the OS's installer.
.EXAMPLE
     No parameters needed.
    Install NetFx4 features from Local Install/Windows Update/WSUS.
.EXAMPLE
     -OfflineSource "D:sourcessxs"
    Install NetFx4 features from a specified source.
.EXAMPLE
    PS C:> Install-DotNet4.ps1
    Install NetFx4 features from Local Install/Windows Update/WSUS.
.EXAMPLE
    PS C:> Install-DotNet4.ps1 -OfflineSource "D:sourcessxs"
    Install NetFx4 features from a specified source.
.OUTPUTS
    None
.NOTES
    General notes
    Release Notes:
    Initial Release
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    [Parameter()]
    [String]
    $OfflineSource
)

begin {
    $OSVersion = [System.Environment]::OSVersion.Version
}
process {
    if ($OSVersion -gt [Version]::new(6, 2)) {
        # Windows 8.1/Server 2012 R2 or greater
        $Packages = dism /Online /Get-Features /Format:Table
        if ($OfflineSource) {
            # Install .NET 3 and 4
            if ((Test-Path -Path $OfflineSource -ErrorAction SilentlyContinue)) {
                if ($($Packages | Select-String -Pattern "NetFx4" | Select-Object -First 1) -like "Disabled") {
                    dism /Online /Enable-Feature /FeatureName:NetFx4 /All /Source:$OfflineSource
                }
            }
            else {
                Write-Error "Path to $OfflineSource doesn't exist."
            }
        }
        else {
            if ($($Packages | Select-String -Pattern "NetFx4" | Select-Object -First 1) -like "Disabled") {
                dism /Online /Enable-Feature /FeatureName:NetFx4 /All
            }
        }
    }
    else {
        # Windows 8/Server 2012 or lesser
        # This requires copying the installer to the target in some way; either by downloading or shared folder as examples.
        Write-Output "More Info: https://ninjarmm.zendesk.com/hc/en-us/articles/360043992771-How-to-install-software-outside-of-3rd-Party-Patching"
        Write-Error "Use the Install Application script to install dotNetFx40_Full_x86_x64.exe"

        # The code below is an example of downloading, but isn't guarantied to work 100%.

        # Invoke-WebRequest -Uri "http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe" -OutFile "dotNetFx40_Full_x86_x64.exe"
        # dotNetFx40_Full_x86_x64.exe /q: http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe
        # Remove-Item -Path "dotNetFx40_Full_x86_x64.exe"
    }
}
end {}

 

Acesse mais de 300 scripts no NinjaOne Dojo

Obter acesso

Detalhamento

Vamos nos aprofundar nos componentes principais desse script: 

  • Parâmetros: O script começa com a configuração de um parâmetro $OfflineSource. Se fornecido, permite que os usuários instalem a estrutura usando uma fonte diferente da padrão (como uma fonte local). 
  • Verificação do ambiente: Ele recupera a versão atual do sistema operacional. 
  • Processo: 
  • Se a versão do sistema operacional for superior ao Windows 8.1/Server 2012 R2, ele verificará os pacotes disponíveis. 
  • Dependendo do $OfflineSource ele usa a fonte local ou a fonte padrão para instalar a estrutura. 
  • Para versões de sistema operacional inferiores ao Windows 8/Server 2012, o script oferece uma diretriz para a instalação, sugerindo um método de download manual. 

Casos de uso em potencial

Cenário: Imagine James, um administrador de TI de uma empresa de médio porte. Eles estão migrando alguns aplicativos legados para um ambiente mais novo, exigindo o .NET Framework 4 em todos os servidores. Alguns servidores têm acesso on-line restrito, portanto, é necessária uma instalação off-line. Usando esse script, James pode simplificar a instalação em vários servidores, economizando tempo e garantindo a uniformidade. 

Comparações

A instalação tradicional do .NET Framework pode envolver o download manual do instalador e a realização da configuração, ou o uso da instalação do Windows Feature. Nosso script oferece vantagens: 

  • Automação: Agende ou implemente instantaneamente em vários servidores. 
  • Flexibilidade: Escolha entre instalação on-line e off-line. 
  • Verificações de erros: Fornece feedback específico se algo não sair como planejado. 

Implicações

Ao automatizar instalações, especialmente com scripts que modificam as configurações do sistema, há um risco inerente. Uma instalação incorreta pode levar a vulnerabilidades do sistema. É essencial entender completamente o script e testá-lo em um ambiente controlado antes de uma ampla implementação. 

Recomendações

  • Sempre faça backup do seu sistema antes de executar scripts que modificam as configurações do sistema. 
  • Se estiver usando uma fonte off-line, certifique-se de que ela seja de um fornecedor confiável e legítimo. 
  • Atualize regularmente o script para atender às versões mais recentes do sistema operacional ou às atualizações do .NET Framework. 

Considerações finais

No cenário atual de TI, o aproveitamento de ferramentas como o NinjaOne tornou-se crucial. Como vimos com esse script de instalação do .NET, a automação pode simplificar tarefas complexas. A plataforma abrangente da NinjaOne pode ajudar na implantação e no gerenciamento eficazes de tais scripts, garantindo que as operações de TI permaneçam tranquilas e eficientes. 

FAQs

Esse script foi projetado especificamente para o .NET Framework 4. Modificações seriam necessárias para outras versões. 

Certifique-se de que o caminho fornecido para a variável $OfflineSource aponte para os arquivos de instalação corretos. 

Próximas etapas

Montar uma equipe de TI eficaz requer uma solução centralizada que seja a principal ferramenta de entrega de serviços. Com NinjaOne, a TI monitora, gerencia, protege e oferece suporte a todos os dispositivos, onde quer que estejam, dispensando infraestrutura complexa no local.

Saiba mais sobre a solução NinjaOne Remote Script Deployment, agende uma demonstração, ou inicie sua avaliação gratuita da plataforma NinjaOne.

Categories:

You might also like