Windows script host ошибка как исправить код 800a0046

The Microsoft VBScript runtime error: Permission denied 800A0046, may faced while trying to install or uninstall a program or driver on your computer. The error 800A0046 is commonly caused because you ‘ll try to install a program on your computer without having administrative privileges or because you have enabled the User Account Control (UAC) on Windows 7 or Vista based computers. 

Permission denied 800A0046

In most cases the VBScript runtime error 800A0046, is occurred whenever you try to install the «Windows Installer Clean Up» utility, in order to remove a program from the system that you cannot uninstall by using the normal way (Programs and features).

This article contains two(2) methods to fix the «Permission denied 800A0046» Windows Script Host Error, on Windows 7 or Vista.

How to bypass the Windows Script Host «Permission Denied – Code 800A0046».

Before applying the methods below to resolve the VBScript Runtime 800A0046 error, first make sure that you have logged on as Administrator on your system,

Method 1: DISABLE User Account Control (UAC).

In order to disable the UAC (User Account Control):

1. Go to Start > Control Panel.
2. Open User Accounts.
3. Click at Change User Account Control settings.

VBScript Runtime error 800A0046

4, Move the slider on the left to Never notify and click OK.
5. Restart your computer.

disable uac - user account control

6. After restart, install (or uninstall) the program that caused the 800A0046 error.

Method 2: RUN the Installer (Setup.exe) as Administrator

In order to install a program as administrator:

1. Right click at the program (installer) that you ‘re trying to install and click Run as Administrator.

run as adminsitrator

That’s all folks! Did it work for you?

Please leave a comment in the comment section below or even better: like and share this blog post in the social networks to help spread the word about this solution.

If this article was useful for you, please consider supporting us by making a donation. Even $1 can a make a huge difference for us.

  • Remove From My Forums
  • Question

  • I’m so close to get my script to work with a user, but I need your help.
    I have a Terminal Server 2003 with policy restrictions. My users can’t even see how much megabytes they have in use. So I created the following script. It runs perfectly with an administrator account:


    Dim oFS, oFolder
    Dim total
    Dim message
    set oFS = WScript.CreateObject(«Scripting.FileSystemObject»)
    set oFolder1 = oFS.GetFolder(«\\server\share$»)
    set oFolder2 = oFS.GetFolder(«\\server\share1$»)
    set oFolder3 = oFS.GetFolder(«\\server\share2$»)
    Wscript.Sleep 300
    total = oFolder1.Size + oFolder2.Size + oFolder3.Size
    message=MsgBox («Size: » & vbTab & oFolder1.Size /1024\1024 & «MB» & vbTab & » Path: » & vbTab & oFolder1.Path & Chr(10) _
    & «Size: » & vbTab & oFolder2.Size /1024\1024 & «MB» & vbTab & » Path: » & vbTab & oFolder2.Path & Chr(10) _
    & «Size: » & vbTab & oFolder3.Size /1024\1024 & «MB» & vbTab & » Path: » & vbTab & oFolder3.Path & Chr(10) _
    & «Total: » & vbTab & total /1024\1024 & «MB»,64,»megabytes in use»)

    The problem I’m facing is that I can’t distribute it to my users because when this script runs as an user I receive this error:
    Windows Script Host
    Script: pathandname.vbs
    Line: 9
    Char: 1
    Error: Permission denied
    Code: 800A0046
    Source: Microsoft VBScript runtime error

    I’ve checked the users permission on the server\share’s and they have Full Control.
    Also on the ACL on the script the user has Full Control.

    What else can I check?
    Is there a setting in some GPO that denies users to run a .vbs?

    Please let me know when you need more information to solve this.

    Cheers,
    Yuri

Answers

  • Are you sure the users have permissions to ALL files and directories on the shares?
    If there is as much as one file or folder to which the user hasn’t got at least «list contents» permission the script will fail with the above message.

    If you check the properties of the root of the share from explorer, first as an administrator and then as a user. Does it show the same amount of files/folders and the same size?
    A difference here would indicate that the user doesn’t have permissions to everything.

    • Marked as answer by

      Tuesday, September 1, 2009 9:14 AM

The Microsoft VBScript runtime error: Permission denied 800A0046, may faced while trying to install or uninstall a program or driver on your computer. The error 800A0046 is commonly caused because you ‘ll try to install a program on your computer without having administrative privileges or because you have enabled the User Account Control (UAC) on Windows 7 or Vista based computers. 

Permission denied 800A0046

In most cases the VBScript runtime error 800A0046, is occurred whenever you try to install the «Windows Installer Clean Up» utility, in order to remove a program from the system that you cannot uninstall by using the normal way (Programs and features).

This article contains two(2) methods to fix the «Permission denied 800A0046» Windows Script Host Error, on Windows 7 or Vista.

How to bypass the Windows Script Host «Permission Denied – Code 800A0046».

Before applying the methods below to resolve the VBScript Runtime 800A0046 error, first make sure that you have logged on as Administrator on your system,

Method 1: DISABLE User Account Control (UAC).

In order to disable the UAC (User Account Control):

1. Go to Start > Control Panel.
2. Open User Accounts.
3. Click at Change User Account Control settings.

VBScript Runtime error 800A0046

4, Move the slider on the left to Never notify and click OK.
5. Restart your computer.

disable uac - user account control

6. After restart, install (or uninstall) the program that caused the 800A0046 error.

Method 2: RUN the Installer (Setup.exe) as Administrator

In order to install a program as administrator:

1. Right click at the program (installer) that you ‘re trying to install and click Run as Administrator.

run as adminsitrator

That’s all folks! Did it work for you?

Please leave a comment in the comment section below or even better: like and share this blog post in the social networks to help spread the word about this solution.

If this article was useful for you, please consider supporting us by making a donation. Even $1 can a make a huge difference for us.

  • Remove From My Forums
  • Question

  • I’m so close to get my script to work with a user, but I need your help.
    I have a Terminal Server 2003 with policy restrictions. My users can’t even see how much megabytes they have in use. So I created the following script. It runs perfectly with an administrator account:


    Dim oFS, oFolder
    Dim total
    Dim message
    set oFS = WScript.CreateObject(«Scripting.FileSystemObject»)
    set oFolder1 = oFS.GetFolder(«\servershare$»)
    set oFolder2 = oFS.GetFolder(«\servershare1$»)
    set oFolder3 = oFS.GetFolder(«\servershare2$»)
    Wscript.Sleep 300
    total = oFolder1.Size + oFolder2.Size + oFolder3.Size
    message=MsgBox («Size: » & vbTab & oFolder1.Size /10241024 & «MB» & vbTab & » Path: » & vbTab & oFolder1.Path & Chr(10) _
    & «Size: » & vbTab & oFolder2.Size /10241024 & «MB» & vbTab & » Path: » & vbTab & oFolder2.Path & Chr(10) _
    & «Size: » & vbTab & oFolder3.Size /10241024 & «MB» & vbTab & » Path: » & vbTab & oFolder3.Path & Chr(10) _
    & «Total: » & vbTab & total /10241024 & «MB»,64,»megabytes in use»)

    The problem I’m facing is that I can’t distribute it to my users because when this script runs as an user I receive this error:
    Windows Script Host
    Script: pathandname.vbs
    Line: 9
    Char: 1
    Error: Permission denied
    Code: 800A0046
    Source: Microsoft VBScript runtime error

    I’ve checked the users permission on the servershare’s and they have Full Control.
    Also on the ACL on the script the user has Full Control.

    What else can I check?
    Is there a setting in some GPO that denies users to run a .vbs?

    Please let me know when you need more information to solve this.

    Cheers,
    Yuri

Answers

  • Are you sure the users have permissions to ALL files and directories on the shares?
    If there is as much as one file or folder to which the user hasn’t got at least «list contents» permission the script will fail with the above message.

    If you check the properties of the root of the share from explorer, first as an administrator and then as a user. Does it show the same amount of files/folders and the same size?
    A difference here would indicate that the user doesn’t have permissions to everything.

    • Marked as answer by

      Tuesday, September 1, 2009 9:14 AM

Troubleshooting Code 800A0046 – Permission Denied

Code 800A0046 is a straightforward error to solve.  The secret is to read the Windows Script Error message carefully, then check the access control list to see who has permission to use the page, or use the device.

  • Introduction to Error Code 800A0046
  • Example 1: Script to map a printer
  • Example 2: Error 800A0046 When You Install Visual Studio
  • Permissions Analyzer Free Tool

  ‡

Introduction to Error 800A0046

Code 800A0046 is runtime error that is more likely to occur with an .ASP file than a .VBS.  You could be trying to connect to SQL, IIS or Exchange.  However, my example of is taken from printer permission problem sent in by Keith S.Code Error 800A0046 Permission Denied

The Symptoms You Get With Error 800A0046

When you get a pop-up message box.  Put on your detective hat, and pay close attention to the line number.  Error 800A0046 is a runtime error, so the problem is likely to outside your script, there could be something the matter with permissions on an application server.

The Cause of Error 800A0046

In the example above, Line 6: is the source of the error.  Char 1: is not always very useful as the error could be anywhere on the line, and WSH still blames char 1.

The cause of error 800A0046 is likely to be read-only permissions on some aspect of your server.  The Source: tells us that this is a runtime error, therefore the syntax is probably o.k.

The Solution

If its Exchange, then check the MailRoot and Pickup folder permissions.  If its IIS check the permissions to run scripts.  If its SQL check the execute permissions on the services.

The solution in the printer problem below would be to change the share permissions on the HP6L printer share.

Example 1: Script to map a printer

In this example, the user does not have permission to install the HP6L printer. Tell the truth, an example script is not that useful with Error 800A0046 as you cannot see the permissions!

‘  VBScript to create a local printer mapped to a network server
‘  Guy Thomas February 2010.
Option Explicit
Dim netPrinter
Set netPrinter = CreateObject(«WScript.Network»)
netPrinter.AddWindowsPrinterConnection «\ServerPrnHP6L»

Guy Recommends: Permissions Analyzer – Free Active Directory ToolFree Permissions Analyzer for Active Directory

I like thePermissions Monitor because it enables me to see quickly WHO has permissions to do WHAT.  When you launch this tool it analyzes a users effective NTFS permissions for a specific file or folder, takes into account network share access, then displays the results in a nifty desktop dashboard!

Think of all the frustration that this free utility saves when you are troubleshooting authorization problems for users access to a resource.  Give this permissions monitor a try – it’s free!

Download Permissions Analyser – Free Active Directory Tool

Example 2: Error 800A0046 When You Install Visual Studio 6.0 (Also other Microsoft Products)

When you install Visual Studio you get the following message.

Permission denied: ‘CreateObject’

/Retail/include/global_siteconfig_lib.asp, line 194

Once again it’s a permissions problem on the Windowssystem32 folder.  Another idea is to try the useful Free Permissions Analyzer.

Example 3: ASP on IIS (Kindly sent in by a reader)

The way we got error 800A0046 was running ASP on IIS under Server 2003R2. Someone wrote a debug routine that did an OpenTextFile from a FileSystemObject; I think what happened was there were multiple simultaneous attempts to open that file.

Example 4: Constantly Writing to File

Dim FSO
Dim oFS
CONST F_ATTR_RONLY = 1
Set FSO = CreateObject(«Scripting.FileSystemObject»)
Set oFS = FSO.GetFile(«d:testo2test.png»)
IF oFS.Attributes AND F_ATTR_RONLY ‘check if bit 1 is set – read only
THEN
‘do nothing
ELSE
FSO.CopyFile «d:testo1test.png», «d:testo2»
END IF

The problem was: the file is written into the sourcelocation every 10 seconds. This is done by a Closed Source Software i have no way of editing. It seems like i get the error (line 11) every time i try to READ the sourcefile while it is being written/created.
Sadly the only solution i found was to run the script with
c:windowssystem32wscript.exe «c:{path to script}» //B
preventing the errornotice.

I have found no way to check if the file is currently being modified except for try and error.

See More Windows Update Error Codes 8004 Series

• Error 800A101A8 Object Required   •Error 800A0046   •Error 800A10AD   •Error 800A000D

• Error 80048820   •Error 800A0401   •Review of SolarWinds Permissions Monitor

• Error 80040E14   • Error 800A03EA   • Error 800A0408   • Error 800A03EE

Solarwinds Free WMI MonitorGuy Recommends: WMI Monitor and It’s Free!

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft operating systems.  Fortunately, SolarWinds have created the WMI Monitor so that you can examine these gems of performance information for free.  Take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor


Do you need additional help?

  • For interpreting the WSH messages check Diagnose 800 errors.
  • For general advice try my 7 Troubleshooting techniques.
  • See master list of 0800 errors.
  • Codes beginning 08004…
  • Codes beginning 08005…
  • Codes beginning 08007…
  • Codes beginning 0800A…

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

If you like this page then please share it with your friends


  • Remove From My Forums
  • Question

  • Hi All,

    i tried move a folder YYYYmm format using below VBScript, move to destination same folder directory, YYYYyyyyMM. However, command prompt shown me Permission Denied, Error Code: 800A0046.

    server Date time format: mm/DD/yyyy, i use VBscript to twist to format DD/MM/yyyy to match folder.

    CDATE(currDay+ «/»  + currMonth + «/» + CurrYYYY)

    'How to use:
    ' type "archiver D:root source folder" in command line eg: D:Testarchiverarchiver.vbs "D:Testarchiver"
    
    DIM strLogFile
    Const ForAppending = 8
    'Wscript.StdOut.WriteBlanklines 100
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    strLogFile=WScript.Arguments(0) &"LogARCHIVER_Log_" & Year(Date) & Month(Date) & Day(Date) & ".txt"
    
    'Log folder not exists then create new folder
    IF NOT FSO.FolderExists(WScript.Arguments(0) &"Log") THEN
    		FSO.CreateFolder WScript.Arguments(0) & "Log"
    END IF
    
    Set objLogFile = FSO.OpenTextFile(strLogFile, ForAppending, True)
    
    objLogfile.WriteLine NOW & ">> ------------ ARCHIVER BEGIN ------------------"
    objLogfile.WriteLine ""
    objLogfile.WriteLine Now & ">> Root Folder: " & WScript.Arguments(0)
    objLogfile.WriteLine ""
    archiver(FSO.GetFolder(WScript.Arguments(0)))
    objLogfile.WriteLine NOW & ">> ------------ ARCHIVER END ------------------"
    objLogfile.WriteLine ""
    objLogFile.Close 
    
    
    Sub archiver(Folder)
    
    	DIM year_
    	DIM month_
    	Dim dt
    	dt=now
    	
    	'output format: yyyymmddHHnn
    	currMonth=Cstr(month(dt)) 	'current Month
    	currDay=Cstr(day(dt)) 		'current day
    	CurrYYYY=Cstr(year(dt)) 	'current Year
    	'wscript.echo currMonth
    	'wscript.echo currDay
    	'wscript.echo CurrYYYY	
    	
    	archiveMonth = -6
    	'Set myLog = objFSO.OpenTextFile(destinationPath, For_Writing, True)
            For Each Subfolder in Folder.SubFolders		
    		IF LEN(subfolder.Name) = 8 AND ISNUMERIC(subfolder.Name) THEN
    			year_ = MID(subfolder.Name,1,4)
    			month_ = MID(subfolder.Name,5,2)
    			
    
    			objLogfile.WriteLine "Process Checking MM-DD-YY Now......"
    			'objLogfile.WriteLine FormatDateTime(CDATE("01/" + month + "/" + year),2)
    			'IF IsDate(CDATE("01/" + month + "/" + year)) AND DateDiff("m", Date, "01/" + month + "/" + year) < archiveMonth  THEN
    			IF IsDate(CDATE("01/" + month_ + "/" + year_)) AND DateDiff("m", CDATE(currDay+ "/"  + currMonth + "/" + CurrYYYY), "01/" + month_ + "/" + year_) <= archiveMonth  THEN
    			
    				objLogfile.WriteLine archiveMonth '-6
    				objLogfile.WriteLine IsDate(CDATE("01/" + month_ + "/" + year_)) 'True
    				
    				objLogfile.WriteLine NOW & ">> Processing >> " + Subfolder.Name
    				destinationPath = year_ 'WScript.Arguments(0) + " " + year
    				'Year folder not exists then create new folder
    				IF NOT FSO.FolderExists(destinationPath) THEN
    					FSO.CreateFolder destinationPath
    					
    				END IF
    		
    				IF FSO.FolderExists(destinationPath) THEN
    					destinationPath = destinationPath + "" + year_ + month_
    					IF FSO.FolderExists(destinationPath) THEN
    						objLogfile.WriteLine NOW & ">> Moving folder " + Subfolder.Name + " to destination: " + destinationPath
    						Subfolder.Move destinationPath + "" + Subfolder.Name
    					ELSE
    						'Year + Month folder not exists then create new folder
    						FSO.CreateFolder destinationPath
    						IF FSO.FolderExists(destinationPath) THEN
    							objLogfile.WriteLine NOW & ">> Moving folder " + Subfolder.Name + " to destination: " + destinationPath
    							Subfolder.Move destinationPath + "" + Subfolder.Name
    						ELSE
    							objLogfile.WriteLine NOW & ">> ** ERROR: Unable to create folder: " + destinationPath	
    						END IF
    					END IF
    				ELSE
    					objLogfile.WriteLine NOW & ">> ** ERROR: Unable to create folder: " + destinationPath
    				END IF
    				'Wscript.StdOut.WriteBlanklines 1
    				'objLogfile.WriteLine ""
    
    			END IF
    		END IF
            Next
    End Sub

    Error Message

    Script: D:….Archivedarchiver.vbs

    Line: 71

    Char: 7

    Error Code: Permission Denied

    Code: 800A0046

    Source Code: Microsoft VBScript runtime error

    • Moved by

      Wednesday, January 2, 2019 3:18 PM
      This is not «fix/debug/rewrite my script for me» forum

  • Remove From My Forums
  • Question

  • Hi All,

    i tried move a folder YYYYmm format using below VBScript, move to destination same folder directory, YYYYyyyyMM. However, command prompt shown me Permission Denied, Error Code: 800A0046.

    server Date time format: mm/DD/yyyy, i use VBscript to twist to format DD/MM/yyyy to match folder.

    CDATE(currDay+ «/»  + currMonth + «/» + CurrYYYY)

    'How to use:
    ' type "archiver D:root source folder" in command line eg: D:Testarchiverarchiver.vbs "D:Testarchiver"
    
    DIM strLogFile
    Const ForAppending = 8
    'Wscript.StdOut.WriteBlanklines 100
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    strLogFile=WScript.Arguments(0) &"LogARCHIVER_Log_" & Year(Date) & Month(Date) & Day(Date) & ".txt"
    
    'Log folder not exists then create new folder
    IF NOT FSO.FolderExists(WScript.Arguments(0) &"Log") THEN
    		FSO.CreateFolder WScript.Arguments(0) & "Log"
    END IF
    
    Set objLogFile = FSO.OpenTextFile(strLogFile, ForAppending, True)
    
    objLogfile.WriteLine NOW & ">> ------------ ARCHIVER BEGIN ------------------"
    objLogfile.WriteLine ""
    objLogfile.WriteLine Now & ">> Root Folder: " & WScript.Arguments(0)
    objLogfile.WriteLine ""
    archiver(FSO.GetFolder(WScript.Arguments(0)))
    objLogfile.WriteLine NOW & ">> ------------ ARCHIVER END ------------------"
    objLogfile.WriteLine ""
    objLogFile.Close 
    
    
    Sub archiver(Folder)
    
    	DIM year_
    	DIM month_
    	Dim dt
    	dt=now
    	
    	'output format: yyyymmddHHnn
    	currMonth=Cstr(month(dt)) 	'current Month
    	currDay=Cstr(day(dt)) 		'current day
    	CurrYYYY=Cstr(year(dt)) 	'current Year
    	'wscript.echo currMonth
    	'wscript.echo currDay
    	'wscript.echo CurrYYYY	
    	
    	archiveMonth = -6
    	'Set myLog = objFSO.OpenTextFile(destinationPath, For_Writing, True)
            For Each Subfolder in Folder.SubFolders		
    		IF LEN(subfolder.Name) = 8 AND ISNUMERIC(subfolder.Name) THEN
    			year_ = MID(subfolder.Name,1,4)
    			month_ = MID(subfolder.Name,5,2)
    			
    
    			objLogfile.WriteLine "Process Checking MM-DD-YY Now......"
    			'objLogfile.WriteLine FormatDateTime(CDATE("01/" + month + "/" + year),2)
    			'IF IsDate(CDATE("01/" + month + "/" + year)) AND DateDiff("m", Date, "01/" + month + "/" + year) < archiveMonth  THEN
    			IF IsDate(CDATE("01/" + month_ + "/" + year_)) AND DateDiff("m", CDATE(currDay+ "/"  + currMonth + "/" + CurrYYYY), "01/" + month_ + "/" + year_) <= archiveMonth  THEN
    			
    				objLogfile.WriteLine archiveMonth '-6
    				objLogfile.WriteLine IsDate(CDATE("01/" + month_ + "/" + year_)) 'True
    				
    				objLogfile.WriteLine NOW & ">> Processing >> " + Subfolder.Name
    				destinationPath = year_ 'WScript.Arguments(0) + " " + year
    				'Year folder not exists then create new folder
    				IF NOT FSO.FolderExists(destinationPath) THEN
    					FSO.CreateFolder destinationPath
    					
    				END IF
    		
    				IF FSO.FolderExists(destinationPath) THEN
    					destinationPath = destinationPath + "" + year_ + month_
    					IF FSO.FolderExists(destinationPath) THEN
    						objLogfile.WriteLine NOW & ">> Moving folder " + Subfolder.Name + " to destination: " + destinationPath
    						Subfolder.Move destinationPath + "" + Subfolder.Name
    					ELSE
    						'Year + Month folder not exists then create new folder
    						FSO.CreateFolder destinationPath
    						IF FSO.FolderExists(destinationPath) THEN
    							objLogfile.WriteLine NOW & ">> Moving folder " + Subfolder.Name + " to destination: " + destinationPath
    							Subfolder.Move destinationPath + "" + Subfolder.Name
    						ELSE
    							objLogfile.WriteLine NOW & ">> ** ERROR: Unable to create folder: " + destinationPath	
    						END IF
    					END IF
    				ELSE
    					objLogfile.WriteLine NOW & ">> ** ERROR: Unable to create folder: " + destinationPath
    				END IF
    				'Wscript.StdOut.WriteBlanklines 1
    				'objLogfile.WriteLine ""
    
    			END IF
    		END IF
            Next
    End Sub

    Error Message

    Script: D:….Archivedarchiver.vbs

    Line: 71

    Char: 7

    Error Code: Permission Denied

    Code: 800A0046

    Source Code: Microsoft VBScript runtime error

    • Moved by

      Wednesday, January 2, 2019 3:18 PM
      This is not «fix/debug/rewrite my script for me» forum

Достаточно часто пользователи Windows-систем сталкиваются с проблемой того, что при попытке автоматической установки апдейтов система выдает предупреждение о сбое службы Windows Script Host (ошибка). Как исправить ее, сейчас и будет рассмотрено. Для этого можно использовать несколько основных методов.

Что означает сбой Windows Script Host

Что касается природы самого сбоя и появления ошибок, причиной может быть только то, что система либо не находит апдейты, либо устанавливает их некорректно.

windows script host ошибка как исправить

Например, при нарушении связи может появляться огромное количество сообщений с самыми разными кодами. Из всех возможных ситуаций наиболее часто встречаются сбои 80070002 и 800A0046 Windows Script Host (ошибка). Как исправить такую ситуацию?

Придется задействовать свои знания по ручному управлению службами. В частности, нас интересует сама система обновления.

Windows Script Host. Ошибка. Как исправить (код 80070002)

В самом простом случае нужно использовать раздел администрирования, где выбирается меню служб (проще всего запустить редактор служб через консоль «Выполнить», где прописывается команда services.msc).

windows script host ошибка как исправить код 80070002

Здесь нужно найти службу центра обновления и в меню правого клика использовать строку остановки процесса. Но для устранения сбоя это еще не все действия, поскольку снова может появиться сообщение о повреждении Windows Script Host (ошибка). Как исправить ситуацию?

Далее следует зайти в корневую директорию системы и найти там каталог SoftwareDistribution. В нем имеется папка Downloads, из которой нужно просто удалить все содержимое. После этого возвращаемся в раздел служб и заново запускаем апдейт-клиент.

Далее входим непосредственно в «Центр обновления» и запускаем ручной поиск апдейтов. Когда они будут найдены, их следует просто установить (возможно, потребуется перезагрузка системы).

Windows Script Host. Ошибка. Как исправить (код 800A0046)?

Встречается и еще одна неприятная ситуация. Возможен и другой вид сбоя Windows Script Host (ошибка). Как исправить проблемы при выдаче вышеуказанного кода? Для начала нужно понять природу неполадки.

windows script host ошибка как исправить код 800a0046

Считается, что в данном случае пользователь наблюдает сбой дескриптора безопасности системы. В самом простом варианте нужно просто удалить учетную запись, которая вызывает сбой (для этого используется раздел членства в группах).

Однако лучше использовать редактор политик безопасности (команда secpol.msc в меню «Выполнить»). Здесь нужно использовать узел политик безопасности, после чего с выбором раздела прав пользователя установить олицетворение клиента после проверки подлинности. Затем следует добавить пользователя или группу на вкладке локальных параметров безопасности в соответствующий список, сохранить изменения и перезагрузить компьютер.

Наконец, можно воспользоваться клиентом RPC. Для этого используется тот же раздел служб, где выбирается строка с указанием на RPC, после чего в свойствах устанавливается вход с системной учетной записью. Опять же, после сохранения изменений следует полная перезагрузка системы.

Вместо итога

Ошибка сама по себе критичной не является и устраняется достаточно просто. В некоторых случаях может помочь даже такой простейший вариант, как просмотр и ручное удаление апдейтов (некоторые из них действительно могут вызывать сбои в системе). Делается это из того же «Центра обновления». На крайний случай, если юзер точно знает момент возникновения ошибки, можно использовать даже обычное восстановление системы, только при выборе точек нужно отобразить их все, после чего и произвести откат до заданного состояния. Но и вышеприведенные методы срабатывают.

Естественно, если самые простые решения не дают должного результата, лучше использовать именно то, что было представлено. Конечно, немного покопаться придется, зато стопроцентное исправление ошибки в данном случае гарантрируется.

I get the following error:

Microsoft VBScript runtime error ‘800a0046’ Permission denied

When running a classic asp application.

The error is here: (in the CreateTextFile line)

Dim myFSO
set myFSO = Server.CreateObject("Scripting.FileSystemObject")
myFSO.CreateTextFile(fName)

I know I can get around this problem by giving «Full control» to the «Everyone» user. This is a publicly accessible folder on our server, so I worry that this is a security risk?

I would prefer to be able to give full permission to someone like «IIS_IUSRS», but this doesn’t work. It’s as if it’s a different user being used for this.

Is this a security risk? Anyone know what I should be doing?

Shadow The GPT Wizard's user avatar

asked Oct 15, 2012 at 9:44

Positonic's user avatar

2

You should either find the anonymous user of your specific website and give write access to that specific user or set the application pool identity of the website to Local System so that the website would have permission.

To find your IUSR also known as the anonymous user in IIS7, open your website in IIS in Features View and go to Authentication and edit Anonymous Authentication.

answered Nov 5, 2012 at 7:32

Shahab Yarmohammadi's user avatar

1

Понравилась статья? Поделить с друзьями:
  • Windows hello ошибка
  • Windows script host ошибка как исправить код 80070002
  • Windows defender ошибка 1053
  • Windows hello выдает ошибку
  • Windows failed to start ошибка