V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caucy
V2EX  ›  程序员

想检测一下电脑自动重启 1000 次能不能正常开机,有没有大神写个小程序啥的

  •  
  •   caucy · 2017-12-26 18:04:08 +08:00 · 5405 次点击
    这是一个创建于 2513 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看看怎么解决 //求求求

    31 条回复    2017-12-28 00:27:55 +08:00
    mokeyjay
        1
    mokeyjay  
       2017-12-26 18:11:53 +08:00
    我看你就是纯粹闲的蛋疼……连续重启 1k 次怕是本来没事都被你折腾出事了
    实在想的话,百度随便搜个自动倒计时关机软件 /脚本,丢到系统的启动目录下就行了
    ooo3o
        2
    ooo3o  
       2017-12-26 18:12:08 +08:00   ❤️ 2
    C:\Windows\System32\Shutdown /r /f /t 00
    保存為 bat 文件, 扔到 Start Menu\Run 文件夾下面, 讓你欲罷不能.
    mokeyjay
        3
    mokeyjay  
       2017-12-26 18:14:33 +08:00
    @ooo3o #2 00 不太好吧,至少给个倒计时给人一点反应时间可以去关掉
    kingcc
        4
    kingcc  
       2017-12-26 18:19:03 +08:00
    城会玩
    GoldenLee
        5
    GoldenLee  
       2017-12-26 18:22:41 +08:00 via Android
    怕不是自己的电脑
    Fedor
        6
    Fedor  
       2017-12-26 18:27:17 +08:00   ❤️ 1
    @ooo3o #2 666
    zhjits
        7
    zhjits  
       2017-12-26 18:28:20 +08:00
    买一个继电器把两头接到机箱 power button 上面,arduino 写十行程序就好
    zhx1991
        8
    zhx1991  
       2017-12-26 21:03:00 +08:00
    写一个启动后调用脚本

    里面是关机命令
    syuraking
        9
    syuraking  
       2017-12-26 21:40:01 +08:00
    @ooo3o 好办法 ,明天去单位的电脑弄一个 - - 然后丢注册表里去,直接罢工不干活了
    em70
        10
    em70  
       2017-12-26 21:41:37 +08:00
    @mokeyjay 进安全模式就可以停止了
    enginex
        11
    enginex  
       2017-12-26 21:48:40 +08:00
    有个软件叫 rebooter...
    yingfengi
        12
    yingfengi  
       2017-12-26 21:54:13 +08:00 via Android
    shutdown -r -t 10
    丢到启动
    ermao
        13
    ermao  
       2017-12-26 21:55:29 +08:00
    @ooo3o 真的欲罢不能了 哈哈哈
    huanxianghao
        14
    huanxianghao  
       2017-12-26 21:57:47 +08:00
    可以可以,电脑这样很容易挂的。开机的时候负荷会很大。参考下服务器们基本是不关机的。
    geelaw
        15
    geelaw  
       2017-12-26 22:12:30 +08:00   ❤️ 5
    提醒:如果你把关机的代码放在启动项里面,通常需要登录用户才能关机,这样是不自动化的。

    如果是 Windows,有两种方法:

    1. 远程 PowerShell,设想要被重启的电脑是 Computer1 从远程计算机上运行如下命令:

    $cred = Get-Credential
    1...1000 | ForEach-Object { Restart-Computer -ComputerName Computer1 -Credential $cred -Wait }

    等待命令完成即可。在第一行之后输入另一个电脑的管理员用户名和密码(用 Computer1\AdminAccountName 或者 DomainName\AdminAccountName )

    2. 本地,在 C:\ 打开 PowerShell 并输入:

    1000 | Set-Content countdown-shutdown -Encoding UTF8

    然后编辑 countdown-shutdown 这个文件的 ACL,确保只有管理员和 SYSTEM 能完全控制之。

    然后编辑如下的 PowerShell 脚本并保存到 C:\Countdown-Shutdown.ps1

    $ErrorActionPreference = 'Stop'
    Try
    {
    $RemainingCount = (Get-Content 'C:\countdown-shutdown' -Encoding UTF8 -Raw).Trim()
    $RemainingCount = [uint32]::Parse($RemainingCount)
    If ($RemainingCount -gt 0)
    {
    $RemainingCount = $RemainingCount - 1
    $RemainingCount | Set-Content 'C:\countdown-shutdown' -Encoding UTF8
    Restart-Computer
    }
    }
    Catch
    {
    }
    Finally
    {
    }

    并编辑它的 ACL 确保只有管理员和 SYSTEM 能完全控制之。

    然后打开 gpedit.msc ,在 Local Computer Policy - Computer Configuration - Windows Settings - Scripts (Startup/Shutdown) - Startup 里添加 PowerShell 脚本 C:\Countdown-Shutdown.ps1

    然后重启电脑,此后电脑会连续重启 1000 次。

    **我刚刚已经尝试了连续重启 4 次。但我不为使用这个代码造成的任何直接或间接的后果负责。**
    oott123
        16
    oott123  
       2017-12-26 23:46:05 +08:00
    @geelaw #15 也可以 control userpasswords2 设置自动登录。
    geelaw
        17
    geelaw  
       2017-12-27 00:23:47 +08:00 via iPhone
    @oott123 那需要建立一个新的用户用来重启(避免危险)。此外登录是额外的操作,不如上面的方法纯粹。
    kokutou
        18
    kokutou  
       2017-12-27 00:54:04 +08:00 via Android
    把软件都卸载,或者干脆重装个空系统,重启能快一些省时间。
    ydxred
        19
    ydxred  
       2017-12-27 00:57:59 +08:00
    命令写成一个批处理,加入开机自启动.
    msg7086
        20
    msg7086  
       2017-12-27 06:29:32 +08:00
    Task Scheduler 不需要登录吧……
    fangdingjun
        21
    fangdingjun  
       2017-12-27 08:59:46 +08:00
    windows 可以用另外一台电脑通过 wmi 控制, 我以前做测试时做过
    linux 就更简单了
    glume
        22
    glume  
       2017-12-27 09:23:15 +08:00
    这波攻击应该有趣了。
    caucy
        23
    caucy  
    OP
       2017-12-27 09:34:16 +08:00
    好的,谢谢各位,加入启动项命令似乎简单些,那要检测是否正常开机,并记录下这个次数,又怎么处理呢
    gamexg
        24
    gamexg  
       2017-12-27 09:56:51 +08:00
    @caucy #23 重启前 http 上报一次时间,之后比较下时间,正常开机间隔应该一致。
    http 部分可能连代码都不用写,直接抽取 web 访问日志就行。
    dikT
        25
    dikT  
       2017-12-27 10:12:42 +08:00
    @yingfengi shutdown -r -t 10, 丢到启动

    这个答案是可以的, 但是最好还是准备一个 cancel.dat , 里面写 shutdown -a

    不想重启就双击它
    qwertyssp
        26
    qwertyssp  
       2017-12-27 11:26:27 +08:00
    找一个开发板,把你电脑的电源按键的线接上去,随便你暴力重启,完美不完美?
    dream7758522
        27
    dream7758522  
       2017-12-27 11:41:56 +08:00 via Android
    bios 中电源管理设置为恢复断电前的工作状态,然后按插板开关
    fulvaz
        28
    fulvaz  
       2017-12-27 12:06:44 +08:00
    @mokeyjay 开安全模式就不会执行了
    zj299792458
        29
    zj299792458  
       2017-12-27 13:04:16 +08:00 via iPhone
    我这几年玩一半跳闸断电都不止 1000 次了,开机一样撸
    caucy
        30
    caucy  
    OP
       2017-12-27 14:40:28 +08:00
    断电重启的话看来只能用继电器连 power buttom,单片机控制了吧
    a22271001
        31
    a22271001  
       2017-12-28 00:27:55 +08:00
    在电脑写个串口程序丢进自启里面,开机完成就通过串口给单片机发送指令,单片机收到指令之后控制继电器 /MOS 管接通 Reset 跳线,跑两天估计就有 1000 次了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1049 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.