问题是当我尝试让Task调度程序运行它时.我把它设置为每天运行一次,并且像我一样运行(我可以访问并可以查看加密的日志文件等).但是当任务运行时(无论是在预定的时间还是我手动运行任务),它在运行VBS脚本时会窒息,说它是未经授权的.当批处理文件调用CScript运行VBS脚本时,CScript是否作为同一个用户(我自己)运行?我只是从批处理文件中调用它,如下所示:
CScript zipIt.vbs %TEMPDIR% %ARCHIVEDIR%\%TARGETZIP%
以下是VBS脚本的内容:
Set objArgs = WScript.Arguments InputFolder = objArgs(0) ZipFile = objArgs(1) CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile,True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18,vbNullChar) Set objShell = CreateObject("Shell.Application") Set source = objShell.NameSpace(InputFolder).Items objShell.NameSpace(ZipFile).copyHere(source) wScript.Sleep 2000
我对VBS或Windows管理一般都不是很了解,但我猜这个脚本在加密文件夹中创建一个新文件时遇到了麻烦.因为当我关闭文件夹加密时,它可以在任务计划程序中正常工作.我正在考虑使用“Runas”使用我自己的凭据调用CScript,但我不希望将我的密码存储在批处理文件中,因为其他用户可以访问这些文件(DatabaseAdmin等).在任务计划程序中,有一个“以最高权限运行”选项.这会解决这个问题吗?我正在避免这种情况,因为我认为我应该试着弄清楚如何让它以尽可能少的特权来工作.
更新:
在探索时,我发现我实际上没有能力解密MysqL日志文件,即使我对包含文件夹有这种能力(由cipher.exe / c验证).唯一具有未加密权限的帐户是SYstem.这可能是因为MysqL日志是由“MysqLAdmin flush-logs”工具创建的.据我了解,应用程序创建的文件由SYstem拥有(不是100%肯定).也许我必须使用“runas”在我的脚本中调用MysqLAdmin flush-logs.但是我有同样的问题,不想以明文形式将我的凭据存储在批处理文件中.我会尽力测试.
任何帮助表示赞赏.
psexec -s cipher /adduser ...
但是,如果这是一个被替换的旋转文件,那么您将在MysqL创建的每个文件中遇到此问题,因为它在系统帐户下运行.如果是这种情况,那么您应该考虑将MysqL服务器作为具有已知密码和EFS证书的特定用户帐户运行,无论是您自己的帐户还是专用帐户.这与您运行预定脚本所需的帐户相同.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。