如何编写PowerShell脚本读取txt文件内容并执行dig命令查询MX记录
PowerShell脚本调整方案
以下是修复后可直接运行的完整脚本:
# 定义存储域名的TXT文件路径 $path = ".\domain.txt" # 读取域名并自动过滤空行,避免无效执行 $mxdomain = Get-Content $path | Where-Object { $_ -notmatch '^\s*$' } foreach ($domain in $mxdomain) { dig $domain MX +short }
核心修改说明
- 补全变量前缀
$:PowerShell语法要求所有自定义变量必须以$开头,原代码中path声明未加前缀会直接触发语法错误 - 补全
foreach循环结构:PowerShell中循环、判断逻辑的执行块必须用大括号{}包裹,不能直接将命令写在循环条件后方 - 新增空行过滤逻辑:自动过滤TXT文件中的空白行,避免执行无参数的无效dig命令
如果你不想额外安装dig工具,也可以使用PowerShell原生命令实现相同效果:
$path = ".\domain.txt" $mxdomain = Get-Content $path | Where-Object { $_ -notmatch '^\s*$' } foreach ($domain in $mxdomain) { Resolve-DnsName -Name $domain -Type MX | Select-Object -ExpandProperty NameExchange }
内容的提问来源于stack exchange,提问作者Marko
相关产品推荐
相关产品推荐

