关于域用户启动脚本(vbs)不执行问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于域用户启动脚本(vbs)不执行问题相关的知识,希望对你有一定的参考价值。
我用的是win2008 R2做的域控 ,客户机操作系统是winxpsp3,现在在域控"计算机配置"->"Windows设置"->"脚本(启动/关闭) 启动中添加了\\dbserver1\NETLOGON\password.vbs 这样一个脚本(该脚本是更改客户机上本地管理员admin密码的), 但是重启开机不能执行 根本没反应 ,在客户机运行gpresult 发现该策略已经加载了但是开机根本没执行,(我用客户机本地管理员登陆执行\\dbserver1\NETLOGON\password.vbs 提示我输入密码。我将域控的用户名密码输入上去后脚本执行,本地管理员密码更改生效,说明这个脚本是能更改密码的),上网查有人说启动脚本用的是本地system权限没法加载网络路径,╮(╯▽╰)╭ 到底什么原因啊忘高人指点一二
注:password.vbs 及NETLOGON我已经给我domain computer权限
问题解决后追加100分
vbs脚本中的内容是
-----------------------------------
dim password
password="xyz"
set shell=createobject("wscript.shell")
shell.run "net user administrator " & password
-----------------------------------
gpupdate /force
更新下组策略试试 参考技术A 这么多贤赏 ,我真想回答对,可是我这不会呀
在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]
【中文标题】在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]【英文标题】:How to launch vbs script after internet connection is detected in windows xp? [closed] 【发布时间】:2011-09-22 20:10:20 【问题描述】:wifi 连接建立后如何启动 vbs 脚本?
提前致谢。
【问题讨论】:
问题属于超级用户 如果您需要任何人的帮助,您需要提供更多信息,卡洛斯。 问题对我来说似乎很清楚。如何在建立 WiFi 连接时自动执行 VBScript。这个问题也可以说是关于编程的,因为答案最终可能会显示出来。对于不清楚的问题,我通常是一个傲慢的 SOB,但这个问题是完全公平的(需要注意的是它没有显示任何研究努力——但这不是一个容易搜索的问题)。 【参考方案1】:您可以启动一个 VBScript,它会循环查找来自 Internet 站点/设备/任何东西的响应。当它看到它时,它会执行代码,否则它会尝试最多 XX 分钟并中止,例如:
Const strTarget = "cnn.com"
startTime = Time
boolExitFlag = False
Do
' Check to see if I can get a ping response from target
If Ping(strTarget) Then
' Call the code to run on connect
Call runOnWIFI
boolExitFlag = True
End If
WScript.sleep 1000 ' Pause for 1 seconds before next attempt
' Stop trying after 5 minutes
If DateDiff("s", startTime, time) => 300 then boolExitFlag = True
Loop while boolExitFlag <> True
' * * * * * * * * * * * * * * * * * * * * * * * * * * *
' Subroutine to run when WIFI connection is detected
' * * * * * * * * * * * * * * * * * * * * * * * * * * *
Sub runOnWIFI
' INSERT CODE TO RUN ON WIFI CONNECTION HERE
End Sub
' * * * * * * * * * * * * * * * * * * * * * * * * * * *
' Subroutine to see if the target machine is online
' * * * * * * * * * * * * * * * * * * * * * * * * * * *
Function Ping(strHost)
Set objPing = GetObject("winmgmts:impersonationLevel=impersonate").ExecQuery("select * from Win32_PingStatus where address = '" & strHost & "'")
z = 0
Do
z = z + 1
For Each objRetStatus In objPing
If IsNull(objRetStatus.StatusCode) Or objRetStatus.StatusCode <> 0 Then
PingStatus = False
Else
PingStatus = True
End If
Next
' Try a few times in case machine doesn't respond right away
wscript.sleep 200
If z = 4 Then Exit Do
Loop until PingStatus = True
If PingStatus = True Then
Ping = True
Else
Ping = False
End If
End Function
【讨论】:
【参考方案2】:您的应用程序可以简单地使用 cscript.exe 运行 .vbs 文件。例如
cscript.exe ScriptToLaunch.vbs
要检测互联网连接,您可以简单地使用某种“ping”命令。例如,请参阅VBS to check for active internet connection 并将其调整为..无论您使用的是什么开发堆栈..
【讨论】:
以上是关于关于域用户启动脚本(vbs)不执行问题的主要内容,如果未能解决你的问题,请参考以下文章
在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]
如何创建向所有用户 HKCU\... 配置单元(包括默认用户和域用户)写入 32 位和 64 位的 VBS 脚本
如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?