所以我新到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」 –