AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / 问题

Perguntas[windows](server)

Martin Hope
codechurn
Asked: 2025-04-21 12:03:24 +0800 CST

Gerar certificado curinga usando a CA do Windows

  • 5

Estou tentando emitir um certificado de servidor Web *.internal usando minha CA do Windows que posso então importar para o PFSense e usar com o HAProxy.

  1. Na CA, abri o Gerenciador de certificados no escopo Computador local.
  2. Eu navego até Personal, Certificatesclico com o botão direito e entãoRequest New Certificate
  3. Selecione e clique em Avançar Certificate Enrollment.Active Directory Enrollment Policy
  4. Seleciono o Web ServerModelo de Certificado e defino os seguintes detalhes:
    Guia Assunto
    Common Name: *.internal
    DNS Name: *.internal
    Guia Chave Privada
    Make Private Key Exportable
  5. Em seguida, clico em "Inscrever-se". O certificado aparece no meu repositório pessoal. Exporto o certificado (com a chave privada) e depois o importo para o PFsense.
  6. Configurei o HAProxy para fazer o offload de SSL usando o certificado. Ao navegar em um site, recebo o seguinte erro:

Mensagem de erro do certificado do navegador

O que estou perdendo/fazendo errado com o certificado? Aqui está o certificado (como baixado do navegador) após visualizar o site:

-----BEGIN CERTIFICATE-----
MIIFlzCCBH+gAwIBAgITXwAAAFLqU+W8kyBCaAAAAAAAUjANBgkqhkiG9w0BAQsF
ADBWMRMwEQYKCZImiZPyLGQBGRYDb3JnMRwwGgYKCZImiZPyLGQBGRYMdW5rbm93
bnJlYWxtMSEwHwYDVQQDExh1bmtub3ducmVhbG0tQUxERVJBQU4tQ0EwHhcNMjUw
NDIxMDE1MzU0WhcNMjcwNDIxMDE1MzU0WjAVMRMwEQYDVQQDDAoqLmludGVybmFs
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0EJjEPYpn0SiGf0ww0Sb
mJjZHivy/Jp3XXG7R2aTjM1ppmemLYLwAyDzGTf7kb65IyoTxS9phf4CDgNjHO8L
yo3pShcpJ18OTSKtws/HcZ6aK7cBRcX1uUw3qBi+VVF9HSBSWJeD0W9xvjThnjsM
yjSRhpEz1kiNHLrM8MP7/UYxPLgUgixe3cIMSM3gpHJnavXJAyUQ84qdy3AbAKEd
2Z3TCK5DNcwoKX5t9fhH2HPEK7FPvUr0PMcxzj7qOqP0XnesKvRrIthSr2W80Zwo
hhn/o1Qqm64cI+fLkledUO3DcyeDwpFDZKxVNa55+zZ6FClBQfbPRuGC4XUD7aat
4QIDAQABo4ICnTCCApkwIQYJKwYBBAGCNxQCBBQeEgBXAGUAYgBTAGUAcgB2AGUA
cjATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYE
FMFXqU+0hAXEkDgI190PJmbU+FyYMBUGA1UdEQQOMAyCCiouaW50ZXJuYWwwHwYD
VR0jBBgwFoAUXh9BpJsAXE9DJWXlDJC1uE3Mx3kwggEkBgNVHR8EggEbMIIBFzCC
AROgggEPoIIBC4aBxWxkYXA6Ly8vQ049dW5rbm93bnJlYWxtLUFMREVSQUFOLUNB
LENOPWFsZGVyYWFuLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD
Tj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPXVua25vd25yZWFsbSxEQz1v
cmc/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS
TERpc3RyaWJ1dGlvblBvaW50hkFodHRwOi8vY3JsLmFsZGVyYWFuLnVua25vd25y
ZWFsbS5vcmcvdW5rbm93bnJlYWxtLUFMREVSQUFOLUNBLmNybDCBzwYIKwYBBQUH
AQEEgcIwgb8wgbwGCCsGAQUFBzAChoGvbGRhcDovLy9DTj11bmtub3ducmVhbG0t
QUxERVJBQU4tQ0EsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENO
PVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9dW5rbm93bnJlYWxtLERDPW9y
Zz9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1
dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAQEAXAUSsAEV0tbjjJenu7RLtDWJcAvv
OlM86V9pQnJOjRovhImWql0Z/zByCtZrr0YmxVnV/Gnb3WWrKV20nHyaTrMXFD41
niiG58wddBTKo4eVP+GtBmosSpbdZQ09wBMI5b7c9IojlXv7Gt0vhxE25lg/Ie95
Ufi4RCnxIN3Af3EMhHIDcVbi87Mwenthf2KUMQbMTGuYkcFKgUJJgKvHFQE/0cij
R1wpiayy0yzYkNClly3IGCtgHiMOv5pDiFJEhVv9W5KlQNN0wGEdTXkbkwfj+ZwM
hSB1zJILyy6Eg+494qlvA0GMIAYEDCUy9h+xM8lp14Z4WV5a9Z8oTwzepQ==
-----END CERTIFICATE-----
windows
  • 1 respostas
  • 36 Views
Martin Hope
Joseph
Asked: 2025-04-16 16:20:15 +0800 CST

Servidor mostrando um certificado raiz na cadeia que não deveria estar

  • 3

Ambiente: Windows Server 2019, Nível Funcional de Floresta/Domínio - 2016, ~40 controladores de domínio com ~17 sites

Estrutura da PKI: Recebemos certificados emitidos por terceiros. Enviamos CSRs a eles e recebemos um certificado deles. Historicamente e atualmente, a cadeia de certificados segue: Raiz > Intermediário > Certificado de Máquina/Usuário.

Tenho o servidor1 e os servidores2-4 em um site, cada um com certificados. Se eu verificar (usando a interface do Windows) a cadeia de certificados de ambos os servidores no servidor2, a cadeia de certificados parece estar como esperado. Se eu verificar no servidor1, há outro certificado misteriosamente aparecendo no topo da cadeia para AMBOS os servidores.

Parece que meu certificado de CA raiz foi emitido por outro certificado, mas não é.

Gostaria de saber por que esses certificados mostram certificados diferentes na raiz quando visualizados em servidores diferentes.

O Servidor 1 aparece nos relatórios de vulnerabilidade como tendo sido emitido por um certificado não confiável. O Servidor 2 não aparece nesta lista. O servidor que produz esses relatórios é um servidor Linux e parece estar usando OpenSSL para realizar essas verificações.

Outra etapa de solução de problemas que fizemos foi criar um novo certificado. Antes de importar o certificado, ele mostrava uma cadeia de certificados esperada. Depois que o importei, o certificado misterioso apareceu novamente, acima do certificado raiz.

Então, antes de importá-lo, a cadeia de certificados parecia com Raiz > Intermediário > Máquina. Depois de importá-lo, parecia com isso: Nova Raiz Misteriosa > Raiz Anterior > Intermediário > Máquina.

windows
  • 1 respostas
  • 135 Views
Martin Hope
PMetal
Asked: 2025-04-16 03:28:21 +0800 CST

Um PC com Windows 10 que está nos EUA parece pensar que está na China, apesar da configuração de região correta

  • 5

Tenho um PC com Windows 10, que veio originalmente da China. Agora está nos EUA. As configurações de região do Windows estavam originalmente definidas para China, mas agora foram alteradas para "Estados Unidos".

No entanto, quando visualizo a web, ela me direciona para versões em chinês dos sites. Por exemplo, o Google.com aparece parcialmente em chinês.

É quase como se eu estivesse conectado a uma VPN com um endpoint chinês. Mas não estou (pelo menos não que eu saiba).

Este é um PC importante porque é o controlador e está integrado a uma máquina de corte a laser industrial. Portanto, não posso substituí-lo facilmente.

Minhas configurações de internet estão usando DHCP e não há servidores DNS personalizados. As configurações regionais do Windows estão definidas como "Estados Unidos". Limpei o cache dos navegadores.

Alguma ideia de como fazer o PC funcionar como um PC "normal" dos EUA? Ou existe alguma maneira de saber se a máquina está roteando tráfego por meio de uma VPN para a China sem o meu conhecimento?

windows
  • 1 respostas
  • 45 Views
Martin Hope
Josh Brunton
Asked: 2025-03-21 18:20:44 +0800 CST

Após uma restauração de banco de dados, a instância do SQL Server 2022 se recusa a aceitar comandos do sqlcmd

  • 5

Contexto

Tenho um script powershell que executa alguma configuração para um aplicativo em um ambiente de teste. Entre outras coisas, o script chama sqlcmdvárias vezes.

Alguns dias atrás, realizei uma restauração no banco de dados. Usei o SQL Server Management Studio 20.2 para restaurar um arquivo BAK para uma instância local do Microsoft SQL Server 2022 (todas as informações da versão abaixo). Fiz isso usando o assistente SSMS Restore Database com WITH REPLACE, WITH_RESTRICTED_USERe fechando as conexões existentes com o banco de dados.

Então, tentei executar meu script de configuração contra esse banco de dados recém-restaurado, como já fiz com sucesso centenas de vezes antes. O script começa garantindo que o sqlcmd esteja instalado e atualizado:

winget install sqlcmd

Em seguida, ele executa comandos no seguinte formato, onde $Server é .\sqlexpresse $Database pode variar (portanto, não parece ser um problema específico do banco de dados):

sqlcmd -S $Server -d $Database -E -Q "ALTER DATABASE..."

Não especifico se devo usar TCP ou pipes nomeados - apenas deixo usar o padrão.

Problema

Normalmente, cada sqlcmd termina em menos de um segundo e gera algo como Commands completed successfully.ou (7653 rows affected), mas, em vez disso, após cerca de 45 segundos, recebo a seguinte saída para cada comando (NB: a mesma linha é repetida duas vezes para uma única invocação do comando):

Timed out waiting for pipe '\\.\pipe\SQLLocal\sqlexpress' to come available
Timed out waiting for pipe '\\.\pipe\SQLLocal\sqlexpress' to come available

O que eu tentei

Além das verificações óbvias (instância do servidor SQL em execução, detalhes de conexão corretos, etc.), tentei:

  • Restaurar o banco de dados novamente e fechar novamente todas as conexões existentes para garantir que pelo menos 1 conexão esteja disponível
  • Reiniciando a instância do servidor SQL
  • Reiniciando a máquina inteira

Tentei executar cada consulta SQL "manualmente" no SSMS, e nenhuma delas relatou erros e observou-se que tiveram o efeito desejado. No entanto, esse processo demora muito, sendo necessário copiar cada consulta e substituir nas variáveis, retornando ao PowerShell de vez em quando para executar comandos não SQL.

Questões)

O que aconteceu para causar o tempo limite do sqlcmd e o que posso alterar para garantir que ele possa ser executado como deveria/costumava ser?


Informações da versão

Informações sobre a versão do SSMS:

SQL Server Management Studio                        20.2.30.0
SQL Server Management Objects (SMO)                     17.100.40.0+f57178c95d4376485d3f597f2b829bbd6f80fd6f
Microsoft T-SQL Parser                      17.2.3.1+46115224c373754fdd41516eaae1386cabc4819e.46115224c373754fdd41516eaae1386cabc4819e
Microsoft Analysis Services Client Tools                        20.0.3.0
Microsoft Data SqlClient (MDS)                      5.1.5
Microsoft SQL Server Data-Tier Application Framework (DacFX)                        162.3.566.1+89d89fe935702c8836ebaf6a03cf61b85118f847.89d89fe935702c8836ebaf6a03cf61b85118f847
Microsoft .NET Framework                        4.0.30319.42000
Operating System                        10.0.22631

Servidor SQL ( SELECT @@VERSION):

Microsoft SQL Server 2022 (RTM-GDR) (KB5046861) - 16.0.1135.2 (X64)   Oct 18 2024 15:31:58   Copyright (C) 2022 Microsoft Corporation  Express Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 22631: ) (Hypervisor) 

Extrair do Windows systeminfo:

OS Name:                   Microsoft Windows 11 Enterprise
OS Version:                10.0.22631 N/A Build 22631
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
windows
  • 1 respostas
  • 87 Views
Martin Hope
Moses Mbadi
Asked: 2025-03-20 16:16:16 +0800 CST

Desafio Gerenciando disco no Hyper

  • 8

Recentemente, fui encarregado de gerenciar alguns servidores e um deles está se mostrando particularmente difícil. Sou relativamente novo no gerenciamento de servidores no Hyper-V e, portanto, tenho cuidado para não bagunçar nada. Tenho uma VM Hyper-V e aqui estão as propriedades VM Hyper-V

Quando acesso a pasta Discos Rígidos Virtuais, vejo isto: Discos Rígidos Virtuais

Meu maior problema é que o disco do host está cheio, então a VM é pausada com o aviso "Disco sem espaço", mas dentro da VM consigo ver que há bastante espaço, como abaixo:
Dentro da VM Hyper-V

Meu pensamento era, eu pego um pouco de espaço do disco rígido da VM e o devolvo ao Host. Mas a VM tem pontos de verificação e quando eu acesso a aba Pontos de Verificação para tentar excluí-los, ela me diz que não pode por causa de vários pontos de verificação. Aviso de ponto de verificação

Por favor, ajude-me a descobrir como abordar isso e, ao mesmo tempo, esclarecer um pouco mais o assunto.

windows
  • 2 respostas
  • 296 Views
Martin Hope
SeanKilleen
Asked: 2025-03-20 03:56:54 +0800 CST

Como posso solucionar a diferença entre a conectividade SMB entre servidores?

  • 10

Fundo

Eu herdei um grupo de servidores Windows Server 2019 recentemente. A configuração não é... ideal. Eles são todos parte de um grupo de trabalho, myworkgroup, mas não há domínio envolvido. Cada um tem sua própria conta de administrador local, theadmin. Todas as theadmincontas locais têm a mesma senha. Um servidor tem uma pasta compartilhada habilitada.

O layout geral se parece com:

  • ServidorA
    • Compartilhamento de arquivo: C:\Shared(nome: "Compartilhado")
    • Administrador local: ServerA\theadmin(mesma senha, por exemplo redactedpw1234)
  • ServidorB
    • Administrador local: ServerB\theadmin(mesma senha, por exemplo redactedpw1234)
  • Servidor C
    • Administrador local: ServerC\theadmin(mesma senha, por exemplo redactedpw1234)
  • ServidorQA
    • Administrador local: ServerQA\theadmin(mesma senha, por exemplo redactedpw1234)

O desafio

Em algum momento — difícil precisar exatamente quando — a theadminconta ServerQA agora consegue ler \\ServerA\Shared, mas não consegue modificar ou excluir arquivos (observei um problema com uma tarefa agendada em execução nessa conta e depois verifiquei pelo Windows Explorer enquanto estava conectado com essa conta).

As contas do ServerB e do ServerC theadminnão parecem ter esse problema. Quando conectado na theadminconta local nessas duas máquinas, posso olhar \\ServerA\Sharede modificar/criar/excluir arquivos conforme o esperado.

Então meu desafio pode ser resumido como:

  • ✅ ServerB, ServerC, e ServerQAparecem ter a mesma configuração
  • ✅ ServerBpode acessar \\ServerA\Shareno Windows Explorer e criar/modificar arquivos
  • ✅ ServerCpode acessar \\ServerA\Shareno Windows Explorer e criar/modificar arquivos
  • ❌ ServerQAconsegue ler \\ServerA\Shareno Windows Explorer, mas recebe um erro de permissão ao tentar criar ou modificar arquivos.

Coisas que eu tentei

  • Reiniciando o ServerQAservidor
  • Get-SmbConnectionem todos os servidores.
    • O padrão de configuração parece ser o mesmo no ServerB, ServerC e ServerQA - O usuário é listado como [TheMachine]\theadminem cada caso, e a credencial é a mesma. Então, todos eles estão usando suas theadmincredenciais locais.
    • O dialeto é 3.1.1para todas as máquinas.
  • Get-SmbMultichannelConnectionparece mostrar o mesmo padrão para todos eles.
    • Interface index [The Ethernet1 index for the server], RSS: True, RDMA: False
  • Tentou remover e restabelecer o compartilhamento
    • No ServerQA,net use /delete \\ServerA\Shared
    • No ServerA Get-SmbSessione, em seguida, Close-SmbSessionpara fechar todas as sessões dessa máquina
    • No ServerQA, net use \\ServerA\Shared /user:ServerQA\theadmin redactedpw1234para restabelecer
    • No ServerQA, net usee Get-SmbConnectionpara confirmar que as coisas estão configuradas conforme o esperado
  • Executei whoami /allem todos os servidores e verifiquei se todas as contas locais estão nos mesmos grupos locais.
  • Verifiquei os logs de eventos SMBClient e SMBServer nos respectivos servidores. Nada se destaca.
  • Verifiquei o registro. Todos os servidores têm os mesmos valores emHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
    • Embora eu possa estar faltando em algum outro lugar que eu deveria procurar?
  • Get-SmbClientConfigurationretorna o mesmo resultado exato em todos os servidores
  • Instalou o módulo powershell NTFSSecurity e executou Get-NTFSEffectiveAccess -Path \\ServerA\Sharedde todos os servidores. Todos retornaram o resultado.
  • Em ServerA, correu icacls "C:\Shared". Isso retornou ServerA\theadmin como tendo acesso, mas nenhuma das outras contas de administrador específicas da máquina. Então, estou assumindo que isso não é tão relevante.
  • Em ServerA, correu Get-SmbShareAccess -Name "Shared". O ServerA\theadminusuário estava nos resultados, mas nenhum dos theadminusuários das outras máquinas foi mencionado especificamente.
  • Continuei e comparei os resultados. Há diferenças em privilégios, mas, até onde posso perceber, eles parecem refletir SIDs locais. Mas estou menos familiarizado com isso secedit /export /cfg c:\Windows\temp\secpol.cfg.ServerBServerQA
  • Em cada servidor, executei gpresult /he comparei os arquivos HTML. Até onde posso perceber, não há diferenças.
  • Por uma ótima tentativa de resposta abaixo, eu verifiquei o ServerQAregistro do servidor para ver se HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicyestava definido 1como deveria. Infelizmente, já está.

Pergunta

Considerando tudo isso, como posso determinar qual é a diferença entre o acesso de ServerQAvs ServerBou ServerCnesta situação? Há alguma ferramenta adicional que eu deva considerar? Há algum ponto comum de solução de problemas que estou esquecendo para determinar a diferença entre servidores? Estou perdido.

Atualização: está mais perto?

Após reiniciar ServerA(que hospeda o compartilhamento de arquivos) e ServerQA(o cliente problemático), os sintomas pareceram desaparecer por cerca de 10 minutos. Consegui modificar arquivos e ver as tarefas agendadas sendo executadas conforme o esperado e modificando arquivos. Então os sintomas retornaram sem nenhuma ação da minha parte e permaneceram assim.

windows
  • 2 respostas
  • 422 Views
Martin Hope
shodanshok
Asked: 2025-03-19 16:12:58 +0800 CST

Tamanho do cluster NTFS 64k

  • 8

Devido ao tamanho máximo de volume de 16T ao usar o tamanho de cluster NTFS padrão (4K), vou migrar para um novo volume de cluster de 64K, copiando todos os dados via robocopy. Não estou usando compactação ou desduplicação. Há algum problema de compatibilidade conhecido com o tamanho de cluster maior? Devo prestar atenção a algo especial, além do desperdício de espaço para arquivos pequenos?

windows
  • 2 respostas
  • 169 Views
Martin Hope
calqium
Asked: 2025-03-06 01:17:28 +0800 CST

O script para atualizar aplicativos pelo WinGet não está sendo executado pelo GPO

  • 5

Escrevi o seguinte script no PowerShell para atualizar aplicativos por meio do WinGet e forçar a desinstalação e reinstalação caso a atualização falhe:

<#
.SYNOPSIS
    Installs the Powershell WinGet client module.
.DESCRIPTION
    Checks to see if the Powershell WinGet client module is installed. If not, attempts to install it.
    If the install fails, exits the program.
.NOTES
    The module can be found here: https://www.powershellgallery.com/packages/Microsoft.WinGet.Client/1.10.320.
#>
function Install-WinGetClientModule {
    # Check if official Powershell WinGet client is installed.
    if (Get-Module -ListAvailable -Name Microsoft.WinGet.Client) {
        Write-Host "Powershell Module for the Windows Package Manager Client is installed."
    } else {
        # Install NuGet package provider, which is a requirement to install the module.
        Write-Host "Installing NuGet..."
        Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

        # Check if the NuGet installed successfully.
        if ($?) {
            Write-Host "Successfully installed." -ForegroundColor Green
        } else {
            # If install could not be completed, exit script.
            Write-Host "Could not install NuGet." -ForegroundColor Red
            exit
        }

        # Set PSGallery as a trusted repository to install from.
        Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

        # Install the module.
        Write-Host "Installing the Powershell Module for the Windows Package Manager Client..."
        Install-Module -Name Microsoft.WinGet.Client

        # Check if the module installed successfully.
        if ($?) {
            Write-Host "Successfully installed." -ForegroundColor Green
        } else {
            # If install could not be completed, exit script.
            Write-Host "Could not install the Powershell Module for the Windows Package Manager Client." -ForegroundColor Red
            exit
        }
    }
}


<#
.SYNOPSIS
    Get WinGet applications that require updates.
#>
function Get-ApplicationsWithUpdates {
    # Store the applications with updates available through WinGet
    $applicationsWithUpdates = Get-WinGetPackage | Where-Object IsUpdateAvailable

    return $applicationsWithUpdates
}

<#
.SYNOPSIS
    Update applications though WinGet.
#>
function Update-Applications {
    param (
        [Parameter(Mandatory = $true)]
        [Array]$applicationsToUpdate
    )
    
    # Update each application provided.
    foreach ($app in $applicationsToUpdate) {
        $appName = $app.Name
        $appId = $app.Id
        Write-Host "Updating $appName..."
        
        # Update the application
        winget upgrade --id $appId --accept-package-agreements --accept-source-agreements
        
        # Check if the application was successfully updated.
        if ($?) {
            Write-Host "$appName updated to the latest version." -ForegroundColor Green
        } else {
            # If the update failed, attempt to reinstall.
            Write-Host "Failed to update $appName. Attempting to reinstall..."
            winget uninstall --id $appId --silent --accept-source-agreements
            winget install --id $appId --accept-package-agreements --accept-source-agreements

            # Check if the application reinstalled successfully.
            if ($?) {
                Write-Host "$appName updated to the latest version." -ForegroundColor Green
            } else {
                Write-Host "Failed to update $appName." -ForegroundColor Red
            }
        }
    }
}


function Main {
    # Get Powershell WinGet client.
    Install-WinGetClientModule

    # Check for application updates through WinGet.
    $applicationsToUpdate = Get-ApplicationsWithUpdates
    Write-Host $applicationsToUpdate

    # Check that the number of applications to update isn't 0.
    if ($applicationsToUpdate.Count -gt 0) {
        # Update applications.
        Update-Applications -ApplicationsToUpdate $applicationsToUpdate
    } else {
        Write-Host "All applications are up to date."
    } 
}


# Run the script.
Main

Quando eu o executo manualmente pelo terminal, ele funciona como esperado. No entanto, ele não funciona como um script de inicialização de Política de Grupo em Computer Configuration\Policies\Windows Settings\Scripts(Startup/Shutdown).

Ativei a Execução de Script Computer Configuration\Policies\Administrative Templates\Windows Components\Windows Powershelldefinindo a Política de Execução como "Permitir todos os scripts" (isso é apenas para teste e não é implantado para todos os usuários).

Tenho testado para ver se o script funciona instalando versões mais antigas de programas via WinGet, forçando gpupdate, reiniciando o computador e esperando mais de 5 minutos para permitir que o script seja executado de forma assíncrona. Até agora, não tive sorte em fazer o script ser executado.

Há algo que esteja faltando para que este script funcione na inicialização?

windows
  • 1 respostas
  • 75 Views
Martin Hope
phantom-99w
Asked: 2025-03-05 16:07:43 +0800 CST

Como faço para atualizar o PowerShell para ficar atrás de um firewall corporativo?

  • 6

Estou tentando atualizar o PowerShellGet da versão 1.0.0.1 para uma versão mais recente no Windows Server 2019. Não sou especialista em NuGet, mas tenho um conhecimento básico de provedores e fontes de pacotes. Tenho seguido este e este guia no site Microsoft Learn, além de outros. Estou protegido por um firewall corporativo e não consigo acessar a internet em geral. Temos uma instância do Nexus com os seguintes repositórios configurados:

  • Proxy NuGet chamado psgallery-proxy de https://www.powershellgallery.com/api/v2/
  • Proxy NuGet chamado nugetorg-proxy de https://www.nuget.org/api/v2/

Primeiro, copiei a versão 2.8.5.208 do provedor NuGet de outro computador para o $env:ProgramFiles\PackageManagement\ProviderAssemblies\NuGet\2.8.5.208. Depois, executei os seguintes passos no PowerShell:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.208
$cred = Get-Credential
Register-PackageSource -Name NexusNugetOrg -ProviderName Nuget -Location https://example.com/repository/nugetorg-proxy/ -Trusted -Credential $cred
Register-PSRepository -Name NexusPSGallery -SourceLocation https://example.com/repository/psgallery-proxy/ -InstallationPolicy Trusted -Credential $cred

Depois de executar esses comandos, recebo o seguinte, que me parece estar correto:

PS C:\Windows\system32> Get-PackageProvider -ListAvailable

Name                     Version          DynamicOptions
----                     -------          --------------
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, Filter, Tag, Includes, DscResource, RoleCapability, Command, PublishLocation, ScriptSourceLocation, ScriptPublishLocation
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent
 

PS C:\Windows\system32> Get-PackageSource

Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
NexusNugetOrg                    NuGet            True       https://example.com/repository/nugetorg-proxy/
NexusPSGallery                   PowerShellGet    True       https://example.com/repository/psgallery-proxy/

PS C:\Windows\system32> (Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release) -ge 394802
True

Consigo instalar pacotes normais. Se eu executar o seguinte comando, a instalação do módulo será bem-sucedida e posso ver que ele dbatoolsaparece no Nexus:

Install-Module -Name dbatools -Force -Credential $cred -Repository NexusPSGallery

No entanto, não consigo atualizar o PowerShellGet. Recebo a seguinte saída:

PS C:\Windows\system32> Install-Module -Name PowerShellGet -Force -AllowClobber -Credential $cred -Repository NexusNugetOrg
PackageManagement\Get-PackageSource : Unable to find repository 'NexusNugetOrg'. Use Get-PSRepository to see all available repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4489 char:35
+ ... ckageSources = PackageManagement\Get-PackageSource @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...etPackageSource:GetPackageSource) [Get-PackageSource], Exception
    + FullyQualifiedErrorId : SourceNotFound,Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackageSource
 
PS C:\Windows\system32> Install-Module -Name PowerShellGet -Force -AllowClobber -Credential $cred -Repository NexusPSGallery
PackageManagement\Install-Package : No match was found for the specified search criteria and module name 'PowerShellGet'. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Exception
    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

O que estou perdendo para conseguir executar com sucesso o Install-Module PowerShellGet?

windows
  • 1 respostas
  • 78 Views
Martin Hope
Pacs31
Asked: 2025-02-19 16:54:49 +0800 CST

Conexões TCP espelhadas/invertidas entre processos locais

  • 5

Tenho um servidor web com clientes SignarR. A topologia é:

Cliente -- Caddy -- IIS

Cliente - Apenas cliente JS SignalR.

Caddy - Como proxy reverso.

Arquivo exe comum ou serviço WSL 1. (Tentei as duas opções e são as mesmas na minha pergunta). Porta 8811 a 8082. IIS - Aplicativo Api baseado em .Net 8.

Notei que cada cliente cria três conexões TCP, 1 para Caddy + 2 "Espelhadas", embora eu espere duas, Cliente -- Caddy + Caddy -- IIS.

saída netstat (8811 - caddy, clientes conectam-se aqui. 8082 - ligação de site IIS):

TCP    192.168.21.42:8811     CLIENT:57803         ESTABLISHED
TCP    127.0.0.1:8082         SERVER:50121         ESTABLISHED
TCP    127.0.0.1:50121        SERVER:8082          ESTABLISHED

O que significam as linhas 2 e 3?

Por que eles estão ao mesmo tempo?

windows
  • 1 respostas
  • 72 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve