我有以下简单的脚本,我用它来推送一些文件到一些Win7和Server2008机器。 在大多数情况下,本地用户没有密码。 但是,脚本失败,因为我试图通过pipe理员共享(c $)写入。 在ip.txt中为每个主机传递一个用户最简单的方法是什么?
另外,如果我在一个域上,修改脚本以使用用户和密码进行身份validation有多简单。
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
至于在input文件中存储用户名和密码,可以使用CSV格式和Import-Csv cmdlet轻松完成。
另外,看到这个StackOverflow的问题 。