表达式或语句PowerShell

时间:2018-11-16 19:02:17

标签: powershell sharepoint

您好,我正在将脚本用于Power Shell,这是发生错误的部分原因:在我按日期添加自动文件命名之前,它工作正常,所以我想问题出在这里。任何帮助表示赞赏。

  foreach ($web in $site.AllWebs)
  {
    #Write the Header to "Tab Separated Text File"
    "$($web.title) `t $($web.URL) `t  `t  `t `t " | out-file "c:\users_PermisionReport + (date -f yyyy-MM-dd) + "-DSR.csv" -append
     #Get all Groups and Iterate through   
     foreach ($group in $Web.groups)
     {
            "`t  `t $($Group.Name) `t   `t `t " | out-file "c:\users_PermisionReport + (date -f yyyy-MM-dd) + "-DSR.csv" -append
            #Iterate through Each User in the group
                   foreach ($user in $group.users)
                    {
                       #Exclude Built-in User Accounts
                if(($User.LoginName.ToLower() -ne "nt authority\authenticated users") -and ($User.LoginName.ToLower() -ne "sharepoint\system") -and ($User.LoginName.ToLower() -ne "nt authority\local service"))
                {
                            "`t  `t  `t  $($user.LoginName)  `t  $($user.name) `t  $($user.Email)" | out-file "c:\users_PermisionReport" + (date -f yyyy-MM-dd) + "-DSR.csv" -append 
}
}
}
}//Error is here.

#错误消息:

 Unexpected token '}' in expression or statement.
 CategoryInfo          : ParserError: (:) [], ParseException
 FullyQualifiedErrorId : UnexpectedToken

1 个答案:

答案 0 :(得分:1)

对于包含此代码的任何行:

"c:\users_PermisionReport" + (date -f yyyy-MM-dd) + "-DSR.csv"

用以下代码替换它:

"c:\users_PermisionReport $(get-date -f yyyy-MM-dd).csv"

这将在文件名后附加一个日期,以避免重复或删除较旧的文件。 这样就解决了错误,而无需更改其他任何内容。