当前位置: 首页 > 知识库问答 >
问题:

Powershell获取-随机,日期被“此脚本包含恶意内容”阻止

韩彬
2023-03-14

我正在为实验室环境生成文件,其中包含创建、修改和最后访问的随机日期。直到最近Powershell/VSCode因为包含“恶意代码”而开始阻止该脚本时,这种方法一直运行良好。几天前,这段代码运行良好:

$MaximumDate = Get-Date
[datetime]$CreationDate = $MaximumDate.AddYears(-10).Ticks
[datetime]$ModificationDate = Get-Random -Minimum $CreationDate.Ticks -Maximum ($MaximumDate.AddSeconds(-1)).Ticks
[datetime]$LastAccessDate = Get-Random -Minimum $ModificationDate.Ticks -Maximum $MaximumDate.Ticks

从昨天开始运行时,它抛出以下错误:

At line:3 char:1
+     [datetime]$ModificationDate = Get-Random -Minimum $CreationDate.T ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent

这篇博客文章表明这是Windows Defender造成的。对于那张海报,等待新的更新解决了这个问题,但是我不太热衷于依赖特定的视窗更新来实现这一点。这里有一些有趣的发现。

此代码被阻止:

[datetime]$ModificationDate = Get-Random -Minimum $CreationDate.Ticks -Maximum ($MaximumDate.AddSeconds(-1)).Ticks

该代码适用于:

$Ticks = Get-Random -Minimum $CreationDate.Ticks -Maximum ($MaximumDate.AddSeconds(-1)).Ticks
[datetime]$ModificationDate = $Ticks

但是,如果将该工作代码放入if/else语句中,它会再次失败:

if(any condition you like){
    $Ticks = Get-Random -Minimum $CreationDate.Ticks -Maximum ($MaximumDate.AddSeconds(-1)).Ticks
    [datetime]$ModificationDate = $Ticks
}
else{
    $Ticks = Get-Random -Minimum $MinimumDate.Ticks -Maximum $CreationDate.Ticks
    [datetime]$ModificationDate = $Ticks
}

VSCode似乎不喜欢获取随机,并认为它是恶意的。代码在Powershell中运行,但从VSCode运行时被阻止。有人知道发生了什么吗?

编辑:为了澄清,我正在与一个本地管理员、域管理员的用户一起运行代码,并以管理员的身份运行PS和VSCode,Get ExecutionPolicy显示“绕过”,因此不应该是权限问题。

共有1个答案

孙恩
2023-03-14

已解决:Windows更新。

正如所怀疑的那样,Evotec链接中的决议似乎是罪魁祸首。在最近的最新Windows更新之后,随机化日期时间并将其分配给变量不再触发“恶意代码”错误。

 类似资料:
  • 问题内容: Dill显然是一个非常有用的模块,而且只要您仔细地管理文件,它就显得相对安全。但是,我对以下说法感到不安: 因此,莳萝并非旨在防止错误或恶意构建的数据。留给用户决定他们释放的数据是否来自可信赖的来源。 我在https://pypi.python.org/pypi/dill中阅读。留给用户决定如何管理他们的文件。 如果我理解正确的话,一旦莳萝腌了它,您将无法 轻易地 找到原始脚本在没有某

  • 问题内容: 我是新手,以前从未使用过PHP。我想从Linux上的HTML文件执行PHP脚本。我需要做什么? 这是我的HTML文件的内容: 问题答案: 您收到什么输出?它只是显示PHP代码吗? 我认为是这样。 为了进行测试,请将文件扩展名更改为,然后再次运行。现在可以用吗? 如果是这样,您将需要将PHP与服务器上的和文件关联。 编辑 这是您要添加到Apache配置中的行:

  • 本文向大家介绍易语言随机取文本内容方法,包括了易语言随机取文本内容方法的使用技巧和注意事项,需要的朋友参考一下 易语言怎么随机取出文本里面的随机内容? 需要下载的模块:精易模块 代码如下: 复制粘贴即可。 文本保存格式:用换行分割想取出的随机内容。 代码很简单,可以用本地易语言测试下,感谢大家对呐喊教程的支持。

  • 本文向大家介绍PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子,包括了PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子的使用技巧和注意事项,需要的朋友参考一下 本文介绍在PowerShell脚本中,如何获取脚本文件(.ps1文件)所在的目录。本文介绍在方法适用于PowerShell 3.0。 在PowerShell 3.0中,有一个变量可以很方便的获取脚

  • 本文向大家介绍Powershell脚本中包含文件资源的例子,包括了Powershell脚本中包含文件资源的例子的使用技巧和注意事项,需要的朋友参考一下 Powershell3.0及以后版本。 如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路

  • 问题内容: 我正在使用大型词典,由于某种原因,我还需要处理该词典中的少量随机样本。如何获得这个小样本(例如长度为2的样本)? 这是一个玩具模型: 我需要对dy执行一些涉及所有条目的任务。让我们说,为了简化,我需要将所有值加起来: 现在,我还需要对dy的随机样本执行相同的任务;为此,我需要dy键的随机样本。我能想到的简单解决方案是 这样,我就有了字典的两个键的列表,它们是随机的。因此,回到may任务