使用 powershell 进行用户身份验证

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

答案1

由于您已经调用了非 PowerShell 命令(xcopy),因此您也可以调用另一个命令:

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

至于在输入文件中存储用户名和密码,您可以使用 CSV 格式和Import-Csvcmdlet 轻松地完成。

另请参阅这个 StackOverflow 问题

相关内容