ฉันเขียน vbscript เล็กน้อยที่ดาวน์โหลดไฟล์จากเว็บเซิร์ฟเวอร์ ฉันเข้าใจว่าทำไมสิ่งนี้ถึงทำให้ระบบปฏิบัติการกังวล แต่ฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบและฉันต้องการให้สคริปต์ทำงาน
ข้อผิดพลาดที่ฉันได้รับคือ
Error: Permission denied
Code: 800A0046
ฉันจะบอก Windows ให้ผู้ดูแลระบบทำในสิ่งที่เขาต้องการได้อย่างไร
แก้ไข
ฉันใส่สคริปต์ดาวน์โหลดด้านล่างเพื่อช่วย พยายามใน Windows XP ก่อนหน้านี้ก็ไม่มีปัญหา windows 8 ที่บ้านของฉันไม่ให้มัน
HTTPDownload "http://site.com/fileA.dll", "C:\"
HTTPDownload "http://site.com/fileB.exe", "C:\"
Sub HTTPDownload( myURL, myPath )
Dim i, objFile, objFSO, objHTTP, strFile, strMsg
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
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
Exit Sub
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( )
End Sub
sudo
คำสั่งเพื่อดำเนินการคำสั่ง ในกรณีของ Windows คุณจะต้องเพิ่มสิทธิ์ของกระบวนการ (ผู้ใช้จะต้องให้สิทธิ์เป็นพิเศษ) เพื่อประกาศสิทธิ์ของกระบวนการให้กับระดับสิทธิ์ของผู้ใช้ ไดเรกทอรี C ได้รับการป้องกันโดยค่าเริ่มต้น
windows explorer
(ซึ่งโดยค่าเริ่มต้นจะรันโดยได้รับอนุญาตเหมือนกับ theuser) อย่าเปรียบเทียบพฤติกรรม Windows XP กับ Windows XP ซึ่งเป็นพฤติกรรมหนึ่งตันเปลี่ยนไปจากการเปิดตัว Windows Vista และการแนะนำของ UAC (ดีกว่า)