如何使用wp cli重置网络上所有用户的密码

时间:2017-02-09 作者:patilswapnilv

我有一个WP网络(子目录),有时特别是在安全紧急情况下,通常优先为所有用户更改密码。

我正在寻找一种通过电子邮件向网络上的每个用户发送密码重置url来重置密码的方法。

这里的目标是重置所有密码,并让用户通过前端的重置密码链接重新生成密码。此外,我想终止所有活动会话

最简单的方法是再生所有的盐(在我的环境中)

如何使用wp cli执行此操作?

我对wp cli比较陌生,发现https://wp-cli.org/commands/user/update/它解释了我如何为个人用户做这些事情。

# Update user
$ wp user update 123 --display_name=Mary --user_pass=marypass
Success: Updated user 123

但这里有两个问题,

密码必须与用户名一起输入,我认为这不是理想的方法

  • 用户应该有选择密码的自由,(考虑强制使用强密码)
  • 任何帮助,参考URL?

    更新我能够创建一个驻留在根目录中的小php文件,并通过wp cli在中执行,并使用wp\\u generate\\u password()一次性重置所有密码。

    由于我现在正在使用本地系统,所以我没有检查它是否发送带有重置URL的电子邮件,这很重要。但这听起来并不太难。

    我现在担心的是,我真的不希望它像现在这样被执行。我使用的是“wp eval file password reset.php

    我希望它更像是一个函数,比如“wp reset passwords”,带有USERROLE、USERNAME、USERID或just*等参数,适用于所有用户。

    有人知道我怎么才能得到这个吗???

    2 个回复
    SO网友:Marc Schuetze

    一个简单的解决方案是:

    wp user reset-password $(wp user list --field=user_login)
    
    在一次小规模接管后强制更新所有插件:

    wp plugin install $(wp plugin list --field=name) --force
    

    SO网友:Rafa

    user reset-password user1 user2 userN

    将重置密码并向用户发送电子邮件通知。

    使用--skip-email 不发送电子邮件。

    查阅https://developer.wordpress.org/cli/commands/user/reset-password/

    如果要重置所有用户的密码,可以先获取所有用户的列表,然后触发密码重置:

    wp user list --field=user_login | xargs -n1 -I % wp user reset-password %

    xargs 将读取每个user_login 并将其传递给wp user reset-password.

    相关推荐

    Moving Wordpress Multisite

    我正在尝试将我的wordpress多站点移动到我的主机。我成功地复制了所有文件,将数据库移动到主机。我还在wp-config 文件对条目执行了相同的操作siteurl 和home 在里面wp_options 表,并编辑wp_site 表来保存正确的域,在wp_blogs.但它仍然表明Error establishing connection to database 消息我测试了与mysqli\\u connect的连接,它能够完美连接。。我快疯了。。。你们中的一些人也在为此挣扎吗?PS:也尝试访问back