有没有办法在 Windows 高级防火墙中的规则中创建组或添加到现有组(最好通过命令提示符或 WSH 脚本)。
编辑:

我想编写一个简单的脚本,在日志更改时提醒我。为此,我使用 grep 来查找我感兴趣的行。现在它是这样工作的:
grep line /var/log/file | mail -s Log email@domain.tld
Run Code Online (Sandbox Code Playgroud)
问题是即使没有找到匹配的行,这也会发送邮件。mailutils 的邮件实用程序似乎没有开关告诉它丢弃正文为空的邮件。
有没有一种快速简便的方法呢?
根据我对安全性的理解,管理员应该能够查看与计算机之间的所有连接——就像他们可以查看所有进程/所有者、网络连接/拥有进程一样。但是,Windows 8 似乎已禁用此功能。
作为管理员在 Win Vista+ 中运行提升的运行时,net use您会返回所有映射的驱动器,列为不可用。在 Windows 8 中,从提升的提示运行相同的命令会返回“列表中没有条目”。powershell 的行为是相同的Get-WmiObject Win32_LogonSessionMappedDisk。
持久映射的解决方法是运行Get-ChildItem Registry::HKU*\Network*. 这不包括临时映射(在我的特定示例中,它是通过管理员帐户上的资源管理器创建的,我没有选择“登录时重新连接”)
管理员是否有一种直接/简单的方法来查看任何用户的连接(缺少在每个用户上下文下运行的脚本)?我已阅读启用 UAC 时某些程序无法访问网络位置,但我认为它并不特别适用。
我已经看到了这个答案,但它仍然没有解决非持久性驱动器如何判断用户映射了哪些网络驱动器?
我有一台 Windows 2003 R2 服务器,我想从命令行发送电子邮件。此服务器未配置 SMTP 服务。有没有可以让我发送电子邮件的班轮?我目前的具体用例是在触发性能警报时发送电子邮件,但它通常很有用。
我希望有类似的东西
foomail -t peter@example.org -f blah@example.org -m "Alert! the sky is falling"
Run Code Online (Sandbox Code Playgroud)
更新: 我更喜欢不涉及安装 3rd 方软件的解决方案。
这可能是一个愚蠢的问题,但即使阅读了文档后,我仍然不确定如何在包含“.cpp”或“.h”的文件中查找所有行。
有没有办法做到这一点?
例如(不起作用):
findstr /i .cpp,.h // , == OR
Run Code Online (Sandbox Code Playgroud) 乔布朗正在打电话。由于忘记了密码,他被锁定在 Windows 之外。我们可以通过 Active Directory 用户和计算机重置他的密码,但 ADUC 非常烦人。
当然,也可以通过 NET USER 解锁 Joe Brown 的帐户并将其密码重置为“33Foo$bars”:
净用户 jbrown 33Foo$bars /domain /active:yes
不幸的是,这个命令没有设置要求他选择新密码的标志。我们作为开明的管理员,在任何时候都不想知道任何用户的永久密码。
有没有人使用本机 Windows 工具(必要时包括 PowerShell 或 VBScript)但没有第 3 方二进制文件来解锁/重置并要求更改密码的有效命令行方法?
上下文:Windows Server 2008 域。
windows windows-server-2008 password command-line-interface password-reset
假设您拥有人类可读格式的数量数据,例如 的输出du -h,并且想要进一步对这些数字进行操作。假设您想通过 grep 传输数据以对该数据的子集进行求和。您可以在许多以前从未见过的系统上临时执行此操作,并且只有最少的实用程序。您需要对所有标准 10^n 后缀进行后缀转换。
是否存在一个 gnu-linux 实用程序来将后缀数转换为管道内的实数?您是否编写了一个 bash 函数来执行此操作,或者一些可能容易记住的 perl,而不是一段正则表达式替换或几个 sed 步骤?
38M /var/crazyface/courses/200909-90147
2.7M /var/crazyface/courses/200909-90157
1.1M /var/crazyface/courses/200909-90159
385M /var/crazyface/courses/200909-90161
1.3M /var/crazyface/courses/200909-90169
376M /var/crazyface/courses/200907-90171
8.0K /var/crazyface/courses/200907-90173
668K /var/crazyface/courses/200907-90175
564M /var/crazyface/courses/200907-90178
4.0K /var/crazyface/courses/200907-90179
Run Code Online (Sandbox Code Playgroud)
| grep 200907 | <amazing suffix conversion> | awk '{s+=$1} END {print s}'
相关参考资料:
为了测试我的 PHP 项目的错误,我通常使用以下命令:
find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"
Run Code Online (Sandbox Code Playgroud)
我想php -l '{}' \;用一些参数扩展该部分,以便它使用自定义的 error_reporting 级别,而不是在 php.ini 中定义的级别。这可能吗?
(我知道这个问题与编码有关。另一方面,它更多地与 shell 命令有关。如果您认为它在 stackoverflow 上应该更好,那么请随意移动它。我不确定该问题更适合哪里。)
我正在使用 xargs 在一组输入参数上执行命令,如下所示:
cat <someinput> | xargs -n 1 -P 5 <somecmd>
Run Code Online (Sandbox Code Playgroud)
输入文件真的很长,需要很长时间才能运行。所以我只是在等待命令提示符出现。有没有办法显示已完成的输入参数数量的进度条?
我尝试使用“bar”,但我总是得到“无限”的吞吐量。似乎 xargs 在执行命令之前读取整个输入。

我想为每个 ip DROP 200 多个请求以防止 ddos 攻击。这是我用来检测每个 ip 请求数的命令:
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)
现在我想将所有发出超过 200 个请求的 ip 地址添加到 IPtables 中,以便 DROP 输入和输出。