autenticação do usuário com o powershell

1

Eu tenho o seguinte script simples que estou usando para enviar alguns arquivos para várias máquinas Win7 e Server2008. Na maioria dos casos, o usuário local não possui senha. No entanto, os scripts falham porque estou tentando escrever através do compartilhamento admin (c $). Qual é a maneira mais simples de passar um usuário para cada máquina host no ip.txt?

Além disso, se eu estiver em um domínio, como é simples modificar o script para autenticar com um usuário e senha.

 Write-Host 'Deploy Tools'

    $reader = [System.IO.File]::OpenText("c:\scripts\ip.txt")
    try {
        for(;;) {
            $line = $reader.ReadLine()
            if ($line -eq $null) { break }  
                echo "**** files being copied to: $line ****"
                xcopy c:\scripts\tools  \$line\c$\windows\system32\ /Y
        }
    }
    finally {
        $reader.Close()
    }
    
por dcrearer 18.08.2015 / 00:16

1 resposta

1

Como você já está chamando um comando não-PowerShell ( xcopy ), também pode chamar outro:

net use \$server\c$ /user:$username $password
xcopy c:\scripts\tools  \$server\c$\windows\system32\ /Y

Quanto ao armazenamento de nomes de usuário e senhas em seu arquivo de entrada, você pode fazer isso com bastante facilidade usando o formato CSV e o cmdlet Import-Csv .

Veja também esta pergunta do StackOverflow .

    
por 18.08.2015 / 00:28