Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何避免东芝SSD S.M.A.R.T。仅通过调用Win32\U DiskDrive即可降低值?_Windows_Powershell_Vbscript_Wmi_Solid State Drive - Fatal编程技术网

Windows 如何避免东芝SSD S.M.A.R.T。仅通过调用Win32\U DiskDrive即可降低值?

Windows 如何避免东芝SSD S.M.A.R.T。仅通过调用Win32\U DiskDrive即可降低值?,windows,powershell,vbscript,wmi,solid-state-drive,Windows,Powershell,Vbscript,Wmi,Solid State Drive,最近我发现了S.M.A.R.T。只需调用WMI(Windows Management Instrumentation)的Win32\u DiskDrive,东芝SSD的磨损均衡值就会降低 我只想每秒监视和记录磁盘驱动器(如USB闪存、SD卡、外部CD/DVD驱动器)的连接/移除。客户的要求是通过这些设备监控可能的信息泄漏 但是,当我通过VBScript或PowerShell为不同供应商的SSD(如SanDisk、Micron(至关重要)、三星和东芝)调用Win32_DiskDrive时,只有东芝

最近我发现了S.M.A.R.T。只需调用WMI(Windows Management Instrumentation)的
Win32\u DiskDrive
,东芝SSD的磨损均衡值就会降低

我只想每秒监视和记录磁盘驱动器(如USB闪存、SD卡、外部CD/DVD驱动器)的连接/移除。客户的要求是通过这些设备监控可能的信息泄漏

但是,当我通过VBScript或PowerShell为不同供应商的SSD(如SanDisk、Micron(至关重要)、三星和东芝)调用
Win32_DiskDrive
时,只有东芝SSD的磨损矫正器s.M.A.R.TAD值持续下降,导致东芝磁盘实用程序或Windows磁盘警报弹出窗口

我知道Win32_DiskDrive不在磁盘驱动器上写入/读取任何数据

我的问题是如何调用
Win32_DiskDrive
,而不影响东芝SSD的磨损率“AD”值

受影响的东芝SSD如下

  • 东芝THNSNF128GMCS
  • 东芝THNSNJ128GMCU
  • 东芝THNS128GMCP

我的结论是,这是东芝SSD在设计上的缺陷,最有可能是在其SSD固件中。我强烈希望东芝能尽快发布固件更新

谢谢@Harry Johnston的建议

得出这一结论的主要原因是,在我120多小时的连续
Win32\u DiskDrive
调用测试中,我发现了S.M.A.R.T.的明显差异。东芝和其他两家供应商之间的价值观

东芝的磨损水平值“AD”从默认值200降至175,减少了25,而没有s.M.A.R.T。除温度外,其他两个供应商SSD的值均发生了变化,而每个SSD的通电时间如下所示

东芝THNSNF128GCSS:124小时 SanDisk SDSSDHII240G:829小时 关键CT256MX100SSD1:2705小时

这意味着通过
Win32\u DiskDrive
call test,最年轻的SSD现在在我的电脑上磨损得最快

谢谢@Χpẘ 有关调用Win32_DiskDrive可能产生的影响以及检查信息泄漏的其他方法的详细说明


然而,说实话,现在我除了调用
Win32\u DiskDrive
之外别无选择,因为我无法改变设计。这意味着我所能做的就是减少每秒调用Win32_DiskDrive的次数。

听起来像个bug。你检查过固件和/或设备驱动程序更新吗?@Harry Johnston,谢谢你的评论。今天我询问了东芝技术支持部门,得到了答复。他们说这些SSD在调用Win32_DiskDrive时会将响应数据写入自身,因此我们不应该过于频繁地调用Win32_DiskDrive。他们说这是这些型号的规格。好吧,所以驱动器设计上有缺陷,这很不幸。你可能想把它作为一个答案。(您可能已经注意到了这一点,但大多数软件供应商没有任何理由进行检查。因此,可能有很多软件使用Win32_DiskDrive,可能不是每秒一次,但频繁程度足以影响这些驱动器的使用寿命。我想知道Windows本身多久会这样做?)我猜Win32_DiskDrive会转换为对驱动器的多个I/O请求。如果是这样,则可能只有一个I/O请求实际影响驱动器。例如,它可能转换为获取模式页面80h和83h(可能还有其他页面),但可能只有83h会导致驱动器写入。如果是这种情况,那么您可以用I/O请求替换Win32_DiskDrive。您可以使用OSR的IRP跟踪器查看实际发出的I/O请求。然后,您将编写一个Win32程序来发出与I/O请求相对应的IOCTL,其中穿插着获取智能信息。顺便说一句,过滤器驱动程序将是检查信息泄漏的一种更加健壮的方法。它将看到对驱动器的所有I/O请求。过滤信息的程序可能会对写入驱动器的时间进行计时(同时将驱动器切换为脱机/联机或类似),以避免检测。更好的是,假设没有可移动介质业务,客户可以通过填充环氧树脂物理禁用USB端口、SD插槽等。或者某些供应商允许在BIOS中禁用端口。