所以我新到Windows部署,所以我在这里可以做一些基本的错误。我试图将脚本复制到Windows目录中的文件夹使用MDT拒绝了对FileSystemObject.CopyFile即使管理员
基本上我想要的是试图将脚本复制到%windir%\ temp \ deploymentscripts文件夹,但我甚至以管理员身份拒绝权限。我会通过我认为我做的
First, elevate to admin
Create %WinDir%\Temp\DeploymentScripts
Copy DefaultShell.vbs to that directory (this is where I get permission denied
Mount ntuser.dat to the registry
Set DefaultShell.vbs to the Run Once for default users
Unmount ntuser.dat
运行下面是实际的代码
Option Explicit
If WScript.Arguments.length = 0 Then
Dim wshShell : Set wshShell = CreateObject("Shell.Application")
wshShell.ShellExecute "wscript.exe", """" & _
WScript.ScriptFullName & """" &_
" RunAsAdministrator", , "runas", 1
Else
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objShell : Set objShell = WScript.CreateObject("WScript.Shell")
Dim TempDir
Dim ParentDir
Dim FullPath
TempDir = objShell.ExpandEnvironmentStrings("%WinDir%\Temp\DeploymentScripts")
If Not (objFSO.FolderExists(TempDir)) Then
objFSO.CreateFolder (TempDir)
End If
ParentDir = objFSO.GetParentFolderName(Wscript.ScriptFullName)
FullPath = ParentDir & "\DefaultShell.vbs"
objFSO.CopyFile FullPath, TempDir, True
objShell.run "reg load HKU\ZZZ C:\users\default\ntuser.dat"
objShell.RegWrite "HKU\ZZZ\Software\Microsoft\Windows\RunOnce\DefaultShell", _
"WScript.exe" & " " & FullPath, "REG_SZ"
objShell.run "reg unload HKU\ZZZ"
End If
非常感谢您的帮助。你太棒了!我的东西不过,在测试我的部署后,注意到的是,该行 “objShell.RegWrite “HKEY_USERS \ ZZZ \软件\微软\的Windows \ CurrentVersion \的RunOnce \ DefaultShell”,_ “WScript.exe的” & “” &FULLPATH,“REG_SZ “”在FULLPATH应TEMPDIR中的RegWrite命令 - 否则它看起来在第一日志中部署共享 现在脚本提供了一个错误。“Windows脚本宿主的执行失败(没有足够的 的存储可用于完成这个操作。) “ –
有趣的是,我跑的脚本没有问题。你可以在你的问题中添加一个部分并重新发布修改后的脚本,并显示哪一行产生了该错误? – Damien
让我试着澄清一下。你最初的帮助代码完美无缺。设置为在新用户登录后运行的defaultshell.vbs脚本就是引发该错误的脚本。这个脚本是 Dim objShell:Set objSell = CreateObject(“Wscript.Shell”) objShell.RegWrite“HKEY_CURRENT_USER \ ControlPanel \ Desktop \ Wallpaper”,“”,“REG_SZ” –