我得到的错误如下
语句块中缺少结束"}"。
我正在使用它来自动将用户添加到一个.dat文件中,该文件在我们的一个系统中有数百个用户。我的任务是接管这部分,好吧,我不喜欢手动做任何事情。所以我写了一个脚本来为我完成 95% 的脚本,它可以很好地删除用户的。但是我在这里尝试的这个功能在 2 个不同的特定位置添加了用户,以保持它的美观和净值。我还在学习 powershell,所以任何方向都会很棒,你不会伤害我的感情,我在这里既不是专业人士也不是新手。
Function Add{
$username = Read-Host "User to add to REP01-02 Printing"
$LOCreportADD1 = "\rep01E$orantReport60Servercgicmd.dat"
$LOCreportADD2 = "\rep02e$orantReport60Servercgicmd.dat"
$Username1 = $username+": "
$prd = "prd: "
$userid = "userid="
$henation = "/henation@rmsprd %*"
$Text1 = get-content $LOCreportADD1
$Text2 = get-content $LOCreportADD2
$NewText1 = @()
foreach ($Line in $Text1) {
if ($Line -eq "Insert new user1") {
$Line = $Line.Replace("Insert new user1 ", "Insert new user1 ")
$NewText1 += $Line
$NewText1 += $username1+$userid+$username+$henation
}
Elseif ($Line -eq "New User2") {
$Line = $Line.Replace("New User2 ", "New User2 ")
$NewText12 += $Line
$NewText12 += $username+$prd+$userid+$username+$henation
}
$NewText1 | Set-Content $LOCreportADD1
}
错误说明了一切。您最后缺少关闭函数的}
。
提示是将您的脚本放在可以处理{}
匹配的编辑器(如记事本++)中,并且很容易查看您是否错过了{
/}
。
错误说明了一切。您在末尾缺少一个"}"来关闭foreach块。
Function Add{
$username = Read-Host "User to add to REP01-02 Printing"
$LOCreportADD1 = "\rep01E$orantReport60Servercgicmd.dat"
$LOCreportADD2 = "\rep02e$orantReport60Servercgicmd.dat"
$Username1 = $username+": "
$prd = "prd: "
$userid = "userid="
$henation = "/henation@rmsprd %*"
$Text1 = get-content $LOCreportADD1
$Text2 = get-content $LOCreportADD2
$NewText1 = @()
foreach ($Line in $Text1) {
if ($Line -eq "Insert new user1") {
$Line = $Line.Replace("Insert new user1 ", "Insert new user1 ")
$NewText1 += $Line
$NewText1 += $username1+$userid+$username+$henation
}
Elseif ($Line -eq "New User2") {
$Line = $Line.Replace("New User2 ", "New User2 ")
$NewText12 += $Line
$NewText12 += $username+$prd+$userid+$username+$henation
} # <---- This is your missing brace, to close out the Else condition
}
$NewText1 | Set-Content $LOCreportADD1
}
在Powershell ISE中,您可以突出显示"}"。然后,它将突出显示它用来形成代码块的括号。突出显示它,然后右键单击它。让您更轻松地找到您的问题。