sexta-feira, 18 de março de 2022

Copiar arquivos pela rede habilitando o módulo BITS no PowerShell

1. Habilitar o módulo BITS no PowerShell

A primeira coisa que você deve fazer é importar o módulo BITS para a sessão do PowerShell executando o comando abaixo. Uma vez feito isso, você estará pronto para copiar arquivos via rede de forma mais rápida.

Import-Module BitsTransfer


2. Transferência de arquivos síncrona

Para copiar arquivos pela rede, basta digitar o comando abaixo, substituindo a palavra “origem” e “destino”, como por exemplo Start-BitsTransfer –source \\desktop-sergio\windows10.iso -destination c:\downloads.

Start-BitsTransfer –source origem -destination destino


3. Transferência de arquivos assíncrona

Você pode usar o modo assíncrono adicionando o parâmetro -asynchronous ao comando. Neste modo, se a transferência for interrompida ela será retomada automaticamente quando as máquinas estiverem online.

Start-BitsTransfer –source origem -destination destino -asynchronous


Nota: A transferência assíncrona cria um arquivo temporário na pasta de destino, que fica oculto e tem que ser convertido após a conclusão da transferência. Para converter os arquivos, execute o seguinte comando:

Get-BitsTransfer | Complete-BitsTransfer

4. Transferência com autenticação de usuário

Se o computador de onde você vai copiar os arquivos requerer autenticação, você pode incluir o parâmetro -Authentication NTLM -Credential Get-Credential, para que seja realizado o login do usuário no computador.

Start-BitsTransfer –source origem -destination destino -Authentication NTLM -Credential Get-Credential

 

5. Definir a prioridade da transferência

Por padrão, a transferência é executada com a prioridade mais alta possível. Para evitar que isso aconteça, você precisa definir a prioridade usando o argumento -Priority no comando, como por exemplo -Priority low.

Start-BitsTransfer –source origem -destination destino -Priority low


6. Verificar o status da transferência

Algumas vezes, ao iniciar a transferência não é exibida nenhuma informação na tela, apenas o “JobState” Connecting”. Para descobrir o status da transferência e ver se ela foi concluída, execute o comando abaixo:

Get-BitsTransfer | select DisplayName, BytesTotal, BytesTransferred, JobState | Format-Table -AutoSize


7. Script para facilitar a transferência

Por fim, para facilitar a execução do comando e acompanhar melhor a transferência do arquivo, você pode utilizar o script abaixo. Basta substituir a “origem” e o “destino” pelo caminho do arquivo de origem e destino.






Nenhum comentário:

Postar um comentário