![组策略电子邮件签名脚本](https://linux22.com/image/606924/%E7%BB%84%E7%AD%96%E7%95%A5%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E7%AD%BE%E5%90%8D%E8%84%9A%E6%9C%AC.png)
我有一个 VBS 脚本,用于创建 Outlook 电子邮件签名并将其保存到用户的计算机。我希望每次用户使用组策略登录时都调用此脚本,但到目前为止我还没有成功。
脚本如下:
Set oShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
strUserName = oShell.ExpandEnvironmentStrings("%USERNAME%")
strTargetPath = oShell.ExpandEnvironmentStrings("%APPDATA%")
myURL = "http://example.com/tools/signature/build.php?user=" & strUserName
myPath = strTargetPath & "\Microsoft\Signatures\Default.htm"
Dim i, objFile, objFSO, objHTTP, strFile, strMsg
Const ForReading = 1, ForWriting = 2, ForAppending = 8
If objFSO.FolderExists( myPath ) Then
strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
strFile = myPath
Else
End If
Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
objHTTP.Open "GET", myURL, False
objHTTP.Send
For i = 1 To LenB( objHTTP.ResponseBody )
objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
Next
objFile.Close( )
组策略是针对“用户配置”设置的
Policies -> Windows Settings -> Scripts -> Logon
这指向服务器上的脚本。
当我在本地运行该脚本时,它可以正常工作,没有任何可见的错误,并且签名也被正确创建。
有人能知道为什么它不能正确运行吗,以及(如果有的话)日志或错误会写入服务器上的哪里吗?