如何更改服务器管理员名称和密码

时间:2013-01-07 15:23:16

标签: windows powershell local administrator

我需要将服务器上的本地管理员名称和密码更改为.csv

中包含的名称和密码

CSV文件包含一个列表,其中包含所有信息,其中每行的服务器,管理员名称和密码不同

csv由三列组成 - Server,Admin,PW

如何使用Powershell完成这项工作?

我知道我可以使用它来设置它们,但它们需要按照每个csv行。

foreach ($strComputer in get-content  c:\Servers.txt)
{

$Admin=[adsi]("WinNT://" + $strComputer + "/Administrator, user")
$Admin.psbase.rename("Newname")
$Admin.SetPassword("NewPW")

2 个答案:

答案 0 :(得分:1)

试试这个(未经测试):

import-csv c:\servers.txt | % {

$Admin=[adsi]("WinNT://" + $($_.Server) + "/Administrator, user")
$Admin.psbase.rename($($_.Admin))
$Admin.SetPassword($($_.PW))
$Admin.SetInfo() # I think it's needed
}

答案 1 :(得分:1)

您可以使用Import-Csv而不是get-content。然后,您可以使用标题名称来处理变量。 假设你有一个像:

这样的文件
Server,Admin,PW
bla1,bla2,bla3
blaA,blaB,blaC

的输出
foreach ($line in Import-Csv c:\Servers.txt) { echo $line.server }

将是:

bla1
blaA

只是为了完成你的代码,试试这个例子:

foreach ($line in Import-Csv c:\Servers.txt)
{
$Admin=[adsi]("WinNT://" + $line.Server + "/Administrator, user")
$Admin.psbase.rename($line.Admin)
$Admin.SetPassword($line.PW)
}
相关问题