Назад | Перейти на главную страницу

аутентификация пользователя с помощью PowerShell

У меня есть следующий простой скрипт, который я использую для загрузки некоторых файлов на несколько машин Win7 и Server2008. В большинстве случаев у локального пользователя нет пароля. Однако скрипты не работают, потому что я пытаюсь писать через общий ресурс администратора (c $). Каков самый простой способ передать пользователя для каждой хост-машины в ip.txt?

Также, если я нахожусь в домене, насколько просто изменить скрипт для аутентификации с помощью пользователя и пароля.

 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()
    }

Поскольку вы уже вызываете команду, отличную от PowerShell (xcopy), вы также можете позвонить другому:

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

Что касается хранения имен пользователей и паролей во входном файле, вы можете сделать это довольно легко, используя формат CSV и Import-Csv командлет.

Также см этот вопрос StackOverflow.