• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系

    最近在项目中使用VBS来实现图片的批量删除和批量导入功能,但不知道为什么,只要在我机器上一运行VBS文件就提示“没有在该机执行windows脚本宿主的权限。请与系统管理员联系。”的错误。下面贴出本人的解决方法,并附上图片批量导入及批量删除的VBS代码。

    如果只是因为权限问题可以查看这篇文章:

    以管理员身份运行程序的vbs命令

    1、检查系统是否禁止使用了脚本运行,即打开“INTERNET选项”的“安全”选项卡里“自定义级别”,看看“ActiveX空件及服务”禁用的选项。
    2、运行 regsvr32 scrrun.dll,即打开运行输入CMD,输入regsvr32 scrrun.dll,再回车。
    3、最关键的一步,即看看注册表里的这个位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings在右边的窗口中是不是有个名为 Enabled的DWORD键值,有的话把它删除或者把值该为 1 即可。
    4、重新运行VBS文件即将正常。

    VBS批量导入图片功能

    '****************** Const ****************
    '---- CuRsorTypeEnum Values ----
    Const adOpenForwardOnly = 0
    Const adOpenKeyset = 1
    Const adOpenDynamic = 2
    Const adOpenStatic = 3
    
    '---- LockTypeEnum Values ----
    Const adLockReadOnly = 1
    Const adLockPessimistic = 2
    Const adLockOptimistic = 3
    Const adLockBatchOptimistic = 4
    
    '---- CuRsorLocationEnum Values ----
    Const adUseServer = 2
    Const adUseClient = 3
    
    '---- Custom Values ----
    Const cuDSN = "test"
    
    Const cuUsername = "sa"
    Const cuPassword = ""
    
    '*************** main sub ******************
    
    Call ImageExport()
    
    '*************** define function ***********
    
    Function ImageExport()
      'on error resume next
      Dim sSQL,Rs,Conn,sfzRs,sFilePath,sImgFile,xml
      Dim Ados,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc
      Set fso = CreateObject("Scripting.FileSystemObject")
      
        ' Create Stream Object
      set Ados=CreateObject("Adodb.Stream")
        Ados.Mode=3
        Ados.Type=1
    
      Set Conn=CreateObject ("adodb.Connection")
      Conn.CuRsorLocation =adUseClient
      Call Init_Connection(Conn)
      Set Rs=CreateObject ("adodb.recordset")
      Set sfzRs=CreateObject ("adodb.recordset")
      
      sFilePath=WScript.ScriptFullName
      sFilePath=left(sFilePath,len(sFilePath)-len(WScript.ScriptName))  
    ssql="SELECT RYBH, PHOTO FROM TP_ZPXX WHERE (RYBH IN (SELECT DISTINCT RYBH FROM TP_BMKM WHERE (KSZQBH = 18) AND (JFBZ = 1)))"
      sfzRs.Open sSQL,Conn,adOpenForwardOnly 
      iSuc=sfzRs.RecordCount 
      
      'Get SFZH From DataBase and import images
      while not sfzRs.EOF 
        sImgFile= sFilePath  sfzRs("RYBH")  ".jpg"  
        Ados.Open     
        Ados.Write (sfzRs("PHOTO").GetChunk(4500000))    
        Ados.SaveToFile sImgFile,1     
        sfzRs.MoveNext     
        Ados.Close 
      wend 
      
      sfzRs.Close 
      Conn.Close 
      
      'Release Object
      set Rs=nothing:set sfzRs=nothing:set Conn=nothing:set Ados=nothing
      
      msgbox iSuc  "张照片导出成功",64 ,"照片导出"
        
      
    
      'Quit 
      WScript.Quit
      
    End Function
    
    Function Init_Connection(Conn)
      on error resume next  
    ConnStr = "Provider=SQLOLEDB;Data Source=192.168.64.114;"  _
            "Initial Catalog=VoteInfo;User Id=sa;Password=123456;timeout=50"
      Conn.Open ConnStr  
    
      If Err.number Then    
        msgbox "数据库联接失败",16 ,"照片导出"
        exit function
      End If
    End Function

    VBS批量删除图片功能

    '****************** Const ****************
    '---- CuRsorTypeEnum Values ----
    Const adOpenForwardOnly = 0
    Const adOpenKeyset = 1
    Const adOpenDynamic = 2
    Const adOpenStatic = 3
    
    '---- LockTypeEnum Values ----
    Const adLockReadOnly = 1
    Const adLockPessimistic = 2
    Const adLockOptimistic = 3
    Const adLockBatchOptimistic = 4
    
    '---- CuRsorLocationEnum Values ----
    Const adUseServer = 2
    Const adUseClient = 3
    
    '---- Custom Values ----
    Const cuDSN = "test"
    
    Const cuUsername = "sa"
    Const cuPassword = ""
    
    '*************** main sub ******************
    
    Call ImageExport()
    
    '*************** define function ***********
    
    Function ImageExport()
      'on error resume next
      Dim sSQL,Rs,Conn,sfzRs,xml
      Dim Ados,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc  'iSuc 文件总数
      Dim PicPath,PhysicPath,DelCount '删除文件数
      Set fso = CreateObject("Scripting.FileSystemObject")
      
        ' Create Stream Object
      set Ados=CreateObject("Adodb.Stream")
        Ados.Mode=3
        Ados.Type=1
    
      Set Conn=CreateObject ("adodb.Connection")
      Conn.CuRsorLocation =adUseClient
      Call Init_Connection(Conn)
      Set Rs=CreateObject ("adodb.recordset")
      Set sfzRs=CreateObject ("adodb.recordset")  
      
      sSQL="select sPath,sFile from ScanFile"
      sfzRs.Open sSQL,Conn,adOpenForwardOnly 
      iSuc=sfzRs.RecordCount 
      
      'Get SFZH From DataBase and import images
      while not sfzRs.EOF 
        PhysicPath="E:\VBS删除照片小程序" '物理路径    
        Ados.Open   
        PicPath =PhysicPath  sfzRs("sPath") "\"   sfzRs("sFile")    
        If (fso.FileExists(PicPath)) Then
          fso.DeleteFile(PicPath)  
          DelCount=DelCount+1
        end if    
        sfzRs.MoveNext     
        Ados.Close 
        if iSuc-DelCount=iSuc Then
          DelCount=0
        end if    
      wend 
      
      sfzRs.Close 
      Conn.Close 
      
      'Release Object
      set Rs=nothing:set sfzRs=nothing:set Conn=nothing:set Ados=nothing:set fso=nothing
      
      msgbox "共需要删除"  iSuc  "张照片,其中"  DelCount  "张照片删除成功," iSuc-DelCount  "张照片未找到!",64 ,"照片删除"
        
      
    
      'Quit 
      WScript.Quit
      
    End Function
    
    Function Init_Connection(Conn)
      on error resume next  
    ConnStr = "Provider=SQLOLEDB;Data Source=192.168.64.114;"  _
            "Initial Catalog=VoteInfo;User Id=sa;Password=123456;timeout=50"
      Conn.Open ConnStr  
    
      If Err.number Then    
        msgbox "数据库联接失败",16 ,"照片删除"
        exit function
      End If
    End Function

    到此这篇关于vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系的文章就介绍到这了,更多相关windows脚本宿主的权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:自动以管理员身份运行批处理bat文件(vbs与bat两种方法)
    下一篇:vbs源码之的IIS日志分析工具
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系 vbs,提示,没有,在,该机,执行,