运行 Get-NetFirewallProfile 时,Invoke-AzVMRunCommand 不返回预期值

Invoke-AzVMRunCommand does not return the expected value when running Get-NetFirewallProfile

提问人:user182595 提问时间:11/10/2023 更新时间:11/15/2023 访问量:61

问:

我正在尝试在我的 Azure 订阅中使用 VM。Invoke-AzVMRunCommand

我的 powershell 如下所示

Invoke-AzVMRunCommand -VMName $vm.Name -ResourceGroupName $vm.ResourceGroupName -CommandId 'RunPowerShellScript' -ScriptPath $scriptPath

我的剧本是这样的$scriptPath

Get-NetFirewallProfile | ConvertTo-Csv

但是,在运行此功能时,响应似乎告诉我 Windows 防火墙已启用,即使我知道事实并非如此。

我的脚本的其他部分是必需的,因为返回一个字符串对象,这不是太有用。然而,即使没有这个,我仍然没有得到正确的回应ConvertTo-CsvInvoke-AzVMRunCommand

有谁知道为什么会这样?

Azure PowerShell Azure-Automation

评论


答:

0赞 Venkat V 11/10/2023 #1

运行 Get-NetFirewallProfile 时,Invoke-AzVMRunCommand 不返回预期值

要从远程计算机检查状态的状态,可以在脚本中使用以下命令以表格格式显示详细信息,而不是使用firewallInvoke-AzVMRunCommandGet-NetFirewallProfile | ConvertTo-Csv

Get-NetFirewallProfile | Select-Object Name, Enabled

这是上述命令的结果。

enter image description here

如果要检查 的所有详细信息,可以使用以下命令:Windows firewall

$firewall = Get-NetFirewallProfile

或者,如果您只需要检查名称防火墙状态,则可以使用上述命令。

脚本路径

$FilePath = "C:\Users\Venkat\Desktop\Firewall.csv"
$firewall = Get-NetFirewallProfile
$firewall | Export-Csv -Path $FilePath -NoTypeInformation

下面是在远程计算机上执行的脚本。scriptpath

Connect-AzAccount
Get-AzVM -name "venaktvm"
$scriptpath = "xxxxxxxxxx\Firewall.ps1" 
Invoke-AzVMRunCommand -ResourceGroupName "VM-RG-Name" -Name "VM-NAME"  -CommandId 'RunPowerShellScript' -ScriptPath $scriptpath

结果: enter image description here

防火墙详细信息已导出为 CSV

enter image description here

评论

0赞 user182595 11/10/2023
感谢您的响应,但是运行此响应仍然返回说域,专用和公共防火墙已启用,即使它们未启用。
0赞 Venkat V 11/10/2023
如果命令 Get-NetFirewallProfile 显示不正确的防火墙状态,请重新启动 VM 并再次检查。
0赞 Venkat V 11/10/2023
1.检查计算机上的本地组策略设置。2.检查 Windows 防火墙的域组策略设置,如果计算机是 Active Directory 域的一部分。
0赞 user182595 11/14/2023 #2

因此,我运行的命令从 GUI 检查注册表的不同区域。

图形用户界面:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile

CMDLET:

HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile

这就是问题的来源。

如果您遇到此问题,但请务必检查这两个注册表项。