标题:掌握 PowerShell 防火墙管理:C# 中的高效操作指南

发布于:2025-05-01 ⋅ 阅读:(16) ⋅ 点赞:(0)

标题:掌握 PowerShell 防火墙管理:C# 中的高效操作指南


引言

在日常开发中,我们常常需要对 Windows 防火墙进行配置和管理。无论是允许特定端口通信、检查防火墙状态还是删除规则,PowerShell 提供了强大的命令来简化这些任务。本文将详细介绍如何通过 C# 与 PowerShell 结合使用,实现高效的防火墙管理。Windows 防火墙是保护系统免受未经授权访问的重要防线。尽管可以通过图形界面手动配置,但在自动化脚本或应用程序中集成这些功能往往更加灵活和高效。本文将展示如何利用 C# 调用 PowerShell 命令,轻松管理防火墙规则。


一、环境准备

确保你的开发环境中已安装 .NET Framework 或 .NET Core,并具备基本的 C# 编程知识。此外,还需要管理员权限来执行防火墙相关的 PowerShell 命令。


二、创建 PowerShellHelper

首先,我们需要创建一个帮助类 PowerShellHelper 来封装所有与 PowerShell 相关的操作。这不仅提高了代码的可复用性,也使得维护更加简便。

using System;
using System.Diagnostics;

namespace FirewallControlApp.Helpers
{
   
    public static class PowerShellHelper
    {
   
        public static bool ExecuteCommand(string command, out string log)
        {
   
            log = string.Empty;
            try
            {
   
                ProcessStartInfo psi = new ProcessStartInfo
                {
   
                    FileName = "powershell.exe",
                    Arguments = $"-Command \"{
     command}\"",
                    RedirectStandardOutput = true,
                    RedirectStandardError = true,
                    UseShellExecute = false,
                    CreateNoWindow = true,
                    Verb = "runas" // 请求管理员权限
                };

                using (Process process = new Process())
                {
   
                    process.StartInfo = psi;
                    process.Start();

                    string output = process.StandardOutput.ReadToEnd();
                    string error = process.StandardError.ReadToEnd();

                    process.WaitForExit();

                    if (process.ExitCode 

网站公告

今日签到

点亮在社区的每一天
去签到