<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Powershell維護系統管理任務(五)

      維護系統管理任務

      管理 AD 域服務

      管理組和組成員身份

      Active Directory 組管理與用戶管理密切相關。 可使用 Windows PowerShell Active Directory 模塊的 cmdlet 來創建和刪除組并修改組屬性。 還可使用這些 cmdlet 來更改組成員身份。

      管理組

      下表列出了用于管理組的一些常見 cmdlet:

      Cmdlet 說明
      New-ADGroup 創建新組
      Set-ADGroup 修改組的屬性
      Get-ADGroup 顯示組的屬性
      Remove-ADGroup 刪除組
      Add-ADGroupMember 向組添加成員
      Get-ADGroupMember 顯示組成員
      Remove-ADGroupMember 從組中移除成員
      Add-ADPrincipalGroupMembership 向對象添加組成員身份
      Get-ADPrincipalGroupMembership 顯示對象的組成員身份
      Remove-ADPrincipalGroupMembership 從對象中移除組成員身份

      創建新組

      可使用 New-ADGroup cmdlet 來創建組
      使用 New-ADGroup cmdlet 創建組時,除了組名稱之外,還必須使用 -GroupScope 參數,此參數是唯一必需的參數
      下表列出了 New?ADGroup 的常用參數:

      參數 說明
      ?Name 定義組名稱
      ?GroupScope 將組的范圍定義為 DomainLocal、Global 或 Universal;必須提供此參數
      ?DisplayName 定義對象的輕型目錄訪問協議 (LDAP) 顯示名稱
      ?GroupCategory 定義組是安全組還是通訊組;如果未指定,則會創建安全組
      ?ManagedBy 定義可以管理組的用戶或組
      ?Path 定義會在其中創建組的 OU 或容器
      ?SamAccountName 定義與舊操作系統向后兼容的名稱
      例如,若要創建名為 FileServerAdmins 的新組,請在控制臺中輸入以下命令,然后按 Enter 鍵:
      New-ADGroup -Name FileServerAdmins -GroupScope Global
      

      管理組成員身份

      可使用 *-ADGroupMember 或 *-ADPrincipalGroupMembership cmdlet 以兩種不同的方式進行組管理
      這兩者的差異在于,是側重于對象和修改該對象所屬的組,還是側重于組和修改屬于該組的成員

      • *-ADGroupMember cmdlet 修改組的成員身份。 例如:

        • 可以添加或移除組成員。
        • 可以將組列表傳遞給這些 cmdlet。
        • 無法將成員列表通過管道傳遞給這些 cmdlet。
      • *-ADPrincipalGroupMembership cmdlet 修改對象(例如用戶)的組成員身份。 例如:

        • 可以將用戶帳戶添加為組成員。
        • 無法向這些 cmdlet 提供組列表。
        • 可以將成員列表通過管道傳遞給這些 cmdlet。

      管理計算機帳戶

      Windows PowerShell 的 Active Directory 模塊還具有用于創建、修改和刪除計算機帳戶的 cmdlet。 可以將這些 cmdlet 用于單個操作,或將其作為腳本的一部分來執行批量操作。 用于管理計算機對象的 cmdlet 的名稱中帶有“computer”這個詞。

      下表列出了可用于管理計算機帳戶的 cmdlet:

      Cmdlet 說明
      New-ADComputer 新建計算機帳戶
      Set-ADComputer 修改計算機帳戶的屬性
      Get-ADComputer 顯示計算機帳戶的屬性
      Remove-ADComputer 刪除計算機帳戶
      Test-ComputerSecureChannel 驗證或修復計算機與域之間的信任關系
      Reset-ComputerMachinePassword 重置計算機帳戶密碼

      新建計算機帳戶

      在將計算機加入域之前,可以使用 New-ADComputer cmdlet 命令新建一個計算機帳戶
      這樣做是為了在部署計算機之前,可以在正確的 OU 中創建計算機帳戶

      下表列出了 New-ADComputer 的常用參數:

      參數 說明
      ?Name 定義計算機帳戶的名稱
      ?Path 定義會在其中創建計算機帳戶的 OU 或容器
      ?Enabled 定義計算機帳戶是啟用還是禁用;默認情況下會啟用計算機帳戶,并生成隨機密碼

      以下示例是可用于創建計算機帳戶的命令:

      New-ADComputer -Name LON-CL10 -Path "ou=marketing,dc=adatum,dc=com" -Enabled $true
      

      意思是:

      • adatum.com 域marketing OU
      • 創建一個名為 LON-CL10 的計算機帳戶
      • 并且讓它處于啟用狀態

      解釋如下:
      -Path

      • 指定計算機帳戶要放在哪個 OU(組織單位)或容器里。
      • 格式用 LDAP 路徑
      "OU=marketing,DC=adatum,DC=com"
      
      • OU=marketing → 組織單位是 marketing
        • DC=adatum,DC=com → 域名是 adatum.com
          如果不寫 -Path,帳戶會放在默認容器(通常是 CN=Computers)。

      -Enabled

      • 是否啟用帳戶。默認是 啟用 ($true)。
      • 如果你想先建一個占位帳戶但不啟用,可以設置 -Enabled $false
      • 創建時系統會為計算機帳戶生成一個隨機密碼(這是域內部機制,管理員一般不需要管)。

      修復計算機賬戶的信任關系

      在 Active Directory 里,每一臺加入域的電腦(域成員)都有一個 計算機帳戶,而這個帳戶和域之間會建立一個“安全信道(Secure Channel)”。
      如果這個信道壞掉了(最常見原因:域控的密碼記錄和計算機本機存的密碼不同步),你登錄域賬號時會提示:

      The trust relationship between this workstation and the primary domain failed.

      修復方法如下
      出問題的那臺電腦 上,以管理員身份打開 PowerShell,運行:
      Test-ComputerSecureChannel -Repair -Credential (Get-Credential)

      • -Repair → 嘗試重新建立本機和域控制器的安全信道。
      • -Credential → 需要輸入一個有 域管理員權限 的賬號,否則無法修復。
      • 如果修復成功,會返回 True
        這樣修復的好處是:不用把計算機退出域再重新加入,節省操作時間。

      賬戶與設備管理cmdlet的區別

      注意:這章節只是告訴你賬戶與計算機管理的命令區別而已
      

      微軟在 PowerShell 里把 AD 對象的管理物理計算機的管理 分開了,你可以這么理解:

      1. *-ADComputer 系列(AD 模塊)
        • 作用:管理 Active Directory 中的計算機帳戶對象
        • 它改的不是物理電腦,而是 AD 目錄里的對象記錄。
        • 常見命令:
          • New-ADComputer → 新建計算機帳戶
          • Get-ADComputer → 查詢計算機帳戶
          • Set-ADComputer → 修改計算機帳戶屬性(描述、OU、禁用/啟用等)
          • Remove-ADComputer → 刪除計算機帳戶
            舉例:
            Get-ADComputer -Filter 'Name -like "LON-*"' -Properties OperatingSystem, LastLogonDate

      這查的不是電腦本機信息,而是 AD 里存儲的屬性


      1. *-Computer 系列(核心 PowerShell)
        • 作用:管理 真實計算機(本地或遠程)的操作系統和服務
        • 跟 AD 沒關系,哪怕不是域成員,也能用。
        • 常見命令:
          • Add-Computer → 把本機加入域或工作組
          • Restart-Computer → 重啟本機或遠程機
          • Stop-Computer → 關機
          • Get-ComputerInfo → 查看本機系統屬性
            舉例:
            Add-Computer -DomainName adatum.com -Credential adatum\Admin01 -Restart
            這條命令會把當前計算機加入 adatum.com 域,并重啟。

      總結對比表

      命令前綴 管理對象 使用場景
      *-ADComputer AD 中的計算機帳戶對象 在 AD 中批量建賬號、查詢 OU 結構、修改帳戶屬性
      *-Computer 真實計算機(OS 層面) 加入域、重啟、關機、查詢操作系統信息

      類比

      • *-ADComputer = 人事系統里的“員工檔案”(管理目錄里的記錄)。
      • *-Computer = 員工本人(能讓他上班、下班、休息)。

      管理組織單位和 AD 對象

      什么是組織單位 (OU)?

      OU(Organizational Unit,組織單位) = AD 里的 邏輯容器

      • 它不是一個用戶/計算機,而是用來 組織管理對象的“文件夾”
      • 可以無限層級嵌套。
        OU 的用途:
      1. 分類管理對象(按部門、地點、功能來放用戶/電腦)
        • 比如:OU=Sales(銷售部),OU=IT(技術部)
      2. 委派管理權限(把 OU 授權給某個部門管理員,只能管理自己 OU 下的對象)
      3. 應用組策略 (GPO)(OU 是 GPO 的主要作用范圍,OU 下的用戶和計算機會受到對應策略的約束)
        舉例:
      • OU=Beijing(北京分公司)
        • OU=Sales
        • OU=HR
      • OU=Tokyo(東京分公司)
        • OU=Sales
        • OU=IT
          這樣不同城市、不同部門都能有自己的管理范圍。

      OU 的 cmdlet

      Windows PowerShell 提供可用于創建、修改和刪除 Active Directory 域服務 (AD DS) 組織單位 (OU) 的 cmdlet
      與用于用戶、組和計算機的 cmdlet 一樣,可以將這些 cmdlet 用于單個操作或作為腳本的一部分來執行批量操作

      下表列出了可用于管理 OU 的 cmdlet:

      Cmdlet 說明
      New-ADOrganizationalUnit 創建 OU
      Set-ADOrganizationalUnit 修改 OU 的屬性
      Get-ADOrganizationalUnit 顯示 OU 的屬性
      Remove-ADOrganizationalUnit 刪除 OU
      創建新 OU

      可以使用 New?ADOrganizationalUnit cmdlet 創建新的 OU 來表示組織中的部門或物理位置
      下表列出了 New?ADOrganizationalUnit cmdlet 的常見參數

      參數 說明
      ?Name 定義新 OU 的名稱
      ?Path 定義新 OU 的位置
      ?ProtectedFromAccidentalDeletion 防止任何人意外刪除 OU;默認值為 $true
      以下示例是用于創建新 OU 的命令:
      New-ADOrganizationalUnit -Name Sales -Path "ou=marketing,dc=adatum,dc=com" -ProtectedFromAccidentalDeletion $true
      

      AD 對象 cmdlet

      *-ADObject cmdlet 有時比特定于對象類型的 cmdlet 的執行速度更快,這是因為這些 cmdlet 在其操作中納入了篩選適用對象集的成本

      Cmdlet 說明
      New-ADObject 創建新的 Active Directory 對象
      Set-ADObject 修改 Active Directory 對象的屬性
      Get-ADObject 顯示 Active Directory 對象的屬性
      Remove-ADObject 刪除 Active Directory 對象
      Rename-ADObject 重命名 Active Directory 對象
      Restore-ADObject 從 Active Directory 回收站還原已刪除的 Active Directory 對象
      Move-ADObject 將 Active Directory 對象從一個容器移動到另一個容器
      Sync-ADObject 在兩個域控制器之間同步 Active Directory 對象
      創建新的 AD 對象

      可以使用 New?ADObject cmdlet 創建對象
      使用 New-ADObject 時,必須指定名稱和對象類型
      下表列出了 New?ADObject 的常見參數:

      參數 說明
      ?Name 定義對象的名稱
      ?Type 定義對象的 LDAP 類型
      ?OtherAttributes 定義無法從其他參數訪問的對象的屬性
      ?Path 定義在其中創建對象的容器
      以下命令會創建新的聯系人對象:
      New-ADObject -Name "AnaBowmancontact" -Type contact
      

      實際案例

      批量創建 OU

      公司在北京、東京都有分公司,每個公司有 Sales、HR 部門

      New-ADOrganizationalUnit -Name "Beijing" -Path "DC=adatum,DC=com"
      New-ADOrganizationalUnit -Name "Tokyo"   -Path "DC=adatum,DC=com"
      
      New-ADOrganizationalUnit -Name "Sales" -Path "OU=Beijing,DC=adatum,DC=com"
      New-ADOrganizationalUnit -Name "HR"    -Path "OU=Beijing,DC=adatum,DC=com"
      New-ADOrganizationalUnit -Name "Sales" -Path "OU=Tokyo,DC=adatum,DC=com"
      New-ADOrganizationalUnit -Name "IT"    -Path "OU=Tokyo,DC=adatum,DC=com"
      
      批量把用戶放入 OU

      自動把所有部門屬性為 "Sales" 的用戶放進 Sales OU。

      Get-ADUser -Filter {Department -eq "Sales"} | 
          Move-ADObject -TargetPath "OU=Sales,OU=Beijing,DC=adatum,DC=com"
      
      恢復誤刪的用戶

      從 AD 回收站恢復 Alice 用戶。

      Restore-ADObject -Identity "CN=Alice,OU=Sales,DC=adatum,DC=com"
      

      設備的網絡服務設置

      管理 IP 地址

      可以將 Get-Command 命令與 -Module NetTCPIP 參數配合使用來對其進行查找

      下表列出了用于管理 IP 地址設置的常用 cmdlet:

      Cmdlet 說明
      New-NetIPAddress 創建新的 IP 地址
      Get-NetIPAddress 顯示 IP 地址的屬性
      Set-NetIPAddress 修改 IP 地址的屬性
      Remove-NetIPAddress 刪除 IP 地址

      創建新的 IP 地址設置

      New-NetIPAddress cmdlet 需要 IPv4 或 IPv6 地址以及網絡接口的別名或索引
      最佳做法是,還應同時設置默認網關和子網掩碼

      下表列出了 New-NetIPAddress cmdlet 的常用參數

      參數 說明
      -IPAddress 定義要創建的 IPv4 或 IPv6 地址
      -InterfaceIndex 為 IP 地址通過索引定義網絡接口
      -InterfaceAlias 按名稱為 IP 地址定義網絡接口
      -DefaultGateway 定義默認網關主機的 IPv4 或 IPv6 地址
      -PrefixLength 定義 IP 地址的子網掩碼
      以下命令創建針對以太網接口的新 IP 地址:
      New-NetIPAddress -IPAddress 192.168.1.10 -InterfaceAlias "Ethernet" -PrefixLength 24 -DefaultGateway 192.168.1.1
      

      New-NetIPAddress cmdlet 還接受 –AddressFamily 參數,該參數可定義 IPv4 或 IPv6 IP 地址系列。 如果不使用此參數,將自動檢測地址族屬性。

      實際案例

      獲取 IP 信息
      顯示 WLAN 網卡的所有 IP(包括 IPv4/IPv6)

      Get-NetIPAddress -InterfaceAlias "WLAN"
      

      新建靜態 IP
      給 Ethernet 配置一個固定 IP

      New-NetIPAddress -IPAddress 192.168.1.50 -InterfaceAlias "Ethernet" -PrefixLength 24 -DefaultGateway 192.168.1.1
      

      修改 IP
      直接set即可

      Set-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.100 -PrefixLength 24
      

      刪除 IP
      刪除網卡上的某個 IP

      Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
      

      管理 IP 路由

      IP 路由根據目標 IP 地址轉接數據包
      此路由基于路由表,雖然條目會自動生成,但可能需要手動添加、刪除或修改路由表條目 NETTCPIP PowerShell 模塊還包括用于管理 Windows 服務器和設備的路由表的 cmdlet
      下表列出了用于管理路由表條目和設置的常用 cmdlet:

      Cmdlet 說明
      New-NetRoute 在 IP 路由表中創建一個條目
      Get-NetRoute 從 IP 路由表檢索條目
      Set-NetRoute 修改 IP 路由表中條目的屬性
      Remove-NetRoute 從 IP 路由表刪除條目
      Find-NetRoute 標識到達遠程地址的最佳本地 IP 地址和路由

      創建 IP 路由表條目

      可以使用 New-NetRoute cmdlet 在 Windows 計算機上創建路由表條目
      New-NetRoute cmdlet 要求標識網絡接口和目標前綴
      下表列出了 New-NetRoute cmdlet 的常用參數:

      參數 說明
      ?DestinationPrefix 定義 IP 路由的目標前綴
      ?InterfaceAlias 按別名為 IP 路由定義網絡接口
      ?InterfaceIndex 按索引為 IP 路由定義網絡接口
      ?NextHop 定義 IP 路由的下一個躍點
      ?RouteMetric 定義 IP 路由的路由指標
      以下命令會創建 IP 路由表條目:
      New-NetRoute -DestinationPrefix 0.0.0.0/24 -InterfaceAlias "Ethernet" -DefaultGateway 192.168.1.1
      

      實際案例

      查看路由表
      類似 Linux 的 route -n / ip route show

      Get-NetRoute | Sort-Object RouteMetric
      

      添加路由
      讓發往 10.10.0.0/16 的流量走網關 192.168.1.1,優先級 20

      New-NetRoute -DestinationPrefix "10.10.0.0/16" -InterfaceAlias "Ethernet" -NextHop 192.168.1.1 -RouteMetric 20
      

      修改路由
      把目標網絡的下一跳換掉

      Set-NetRoute -DestinationPrefix "10.10.0.0/16" -NextHop 192.168.1.254
      

      刪除路由

      Remove-NetRoute -DestinationPrefix "10.10.0.0/16" -InterfaceAlias "Ethernet" -Confirm:$false
      

      管理 DNS 客戶端

      PowerShell 提供用于管理 DNS 客戶端設置、DNS 名稱查詢解析以及保護 DNS 客戶端的 cmdlet
      下表列出了用于修改 DNS 客戶端設置的常見 cmdlet:

      Cmdlet 說明
      Get-DnsClient 獲取有關網絡接口的詳細信息
      Set-DnsClient 設置網絡接口的 DNS 客戶端配置設置
      Get-DnsClientServerAddress 獲取網絡接口的 DNS 服務器地址設置
      Set-DnsClientServerAddress 設置網絡接口的 DNS 服務器地址

      以下命令為接口設置特定于連接的后綴:

      Set-DnsClient -InterfaceAlias Ethernet -ConnectionSpecificSuffix "adatum.com"
      

      實際案例

      獲取DNS配置

      Get-DnsClientServerAddress -InterfaceAlias "WLAN"
      

      設置 DNS 服務器

      Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","8.8.4.4")
      

      把 DNS 改成 Google DNS


      恢復自動獲取 DNS

      Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
      

      設置連接特定的 DNS 后綴

      Set-DnsClient -InterfaceAlias "Ethernet" -ConnectionSpecificSuffix "corp.adatum.com"
      

      防火墻設置

      PowerShell 支持 NetSecurity 模塊
      下表列出了用于管理防火墻設置和規則的常見 cmdlet:

      Cmdlet 說明
      New-NetFirewallRule 創建新的防火墻規則
      Set-NetFirewallRule 設置防火墻規則的屬性
      Get-NetFirewallRule 獲取防火墻規則的屬性
      Remove-NetFirewallRule 刪除防火墻規則。
      Rename-NetFirewallRule 重命名防火墻規則
      Copy-NetFirewallRule 創建防火墻規則的副本
      Enable-NetFirewallRule 啟用防火墻規則
      Disable-NetFirewallRule 禁用防火墻規則
      Get-NetFirewallProfile 獲取防火墻配置文件的屬性
      Set-NetFirewallProfile 設置防火墻配置文件的屬性

      可以使用 Get-NetFirewallRule cmdlet 檢索防火墻規則的設置
      使用以下 cmdlet 之一啟用或禁用規則:

      • 具有 -Enabled 參數的 Set-NetFirewallRule cmdlet
      • Enable-NetFirewallRule 或 Disable-NetFirewallRule cmdlet。

      以下命令都可以啟用“遠程訪問”組中的防火墻規則:

      Enable-NetFirewallRule -DisplayGroup "Remote Access"
      
      Set-NetFirewallRule -DisplayGroup "Remote Access" -Enabled True
      

      實際案例

      查看所有防火墻規則

      Get-NetFirewallRule | Select-Object DisplayName, Enabled, Direction, Action
      

      啟用防火墻規則

      Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
      

      添加新規則(允許 TCP 8080)

      New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
      

      禁用規則

      Disable-NetFirewallRule -DisplayName "Allow TCP 8080"
      

      刪除規則

      Remove-NetFirewallRule -DisplayName "Allow TCP 8080"
      

      管理 Windows Server 設置

      自動執行管理任務

      什么是 GPO?

      • GPO (Group Policy Object,組策略對象) 是一種集中管理機制,用于在 Active Directory 域環境下對用戶和計算機的配置進行統一管理。
      • 通過 GPO,管理員可以控制:
        • 用戶登錄腳本、桌面壁紙、軟件安裝
        • 安全設置(如密碼策略、賬戶鎖定策略)
        • Windows 防火墻、網絡配置、注冊表項
        • 應用程序限制(禁止運行某些程序)
          換句話說:
      • 沒有 GPO → 每臺機器單獨設置,很累。
      • 有了 GPO → 一次配置,全域用戶/計算機自動應用。

      GPO 管理 Cmdlet 模塊:GroupPolicy
      需要 RSAT 工具 (Remote Server Administration Tools),默認在域控服務器有

      Cmdlet 說明
      New-GPO 創建新 GPO
      Get-GPO 檢索 GPO
      Set-GPO 修改 GPO 的屬性
      Remove-GPO 刪除 GPO
      Rename-GPO 重命名 GPO
      Backup-GPO 備份域中的一個或多個 GPO
      Copy-GPO 將 GPO 從一個域復制到另一個域
      Restore-GPO 從備份文件還原 GPO
      New-GPLink 將 GPO 鏈接到 AD DS 容器
      Import-GPO 從備份的 GPO 導入 GPO 設置
      Set-GPRegistryValue 在 GPO 中配置一個或多個基于注冊表的策略設置

      常見任務

      創建一個新的 GPO

      New-GPO -Name "IT Security Policy" -Comment "強制IT部門安全策略"
      

      創建名為 IT Security Policy 的 GPO(但還沒應用到 OU)


      將 GPO 鏈接到 OU

      New-GPLink -Name "IT Security Policy" -Target "OU=IT,DC=adatum,DC=com"
      

      把 GPO 鏈接到 IT 部門 OU,里面的計算機和用戶就會收到該策略。


      設置策略項(基于注冊表的)
      比如:強制屏幕保護程序 10 分鐘后自動啟動:

      Set-GPRegistryValue -Name "IT Security Policy" `
        -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" `
        -ValueName "ScreenSaveTimeOut" `
        -Type String `
        -Value "600"
      

      600 秒 = 10 分鐘。所有應用此 GPO 的用戶都會被強制執行。


      生成報告

      Get-GPOReport -Name "IT Security Policy" -ReportType Html -Path "C:\Reports\ITSecurityGPO.html"
      

      導出 GPO 的詳細設置,方便審計。


      備份 & 還原
      備份所有 GPO:

      Backup-GPO -All -Path "C:\GPOBackups"
      

      還原某個 GPO:

      Restore-GPO -Name "IT Security Policy" -Path "C:\GPOBackups"
      

      實際案例

      案例 1:統一安全策略

      • 需求:全公司用戶密碼策略 → 最少 12 位,90 天過期。
      • 做法:
        1. 創建 Security Baseline GPO
        2. 配置密碼策略、鎖定策略
        3. 鏈接到 域根 (DC=adatum,DC=com)
          全域用戶自動生效。

      案例 2:應用部門桌面壁紙

      • 需求:市場部電腦統一壁紙為公司 logo
      • 做法:
        Set-GPRegistryValue -Name "Marketing GPO" ` -Key "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" ` -ValueName "Wallpaper" ` -Type String ` -Value "\\fileserver\share\wallpapers\company.jpg"

      鏈接到 OU=Marketing,市場部電腦就統一壁紙。


      案例 3:軟件限制

      • 需求:禁止運行游戲程序 game.exe
      • 做法:創建 GPO → 配置軟件限制策略 (SRP) → 鏈接到 OU=Students
        學生機一運行 game.exe 就被攔截。

      管理服務器角色和服務

      常見 Cmdlet(ServerManager 模塊)

      Cmdlet 說明
      Get-WindowsFeature 查看所有角色和功能,包含是否已安裝
      Install-WindowsFeature 安裝角色或功能(等價于 GUI 里的 “添加角色和功能” 向導)
      Uninstall-WindowsFeature 卸載角色或功能

      注意:這些 Cmdlet 只在 Windows Server 上能用,如果在 Windows 10/11 上運行,會報錯。


      常見角色和功能示例

      角色/功能名稱 = 內部名字(有別名)。
      可用 Get-WindowsFeature 查看完整列表。

      • IIS (Web-Server) → 互聯網信息服務 (Web 服務器)
      • AD-Domain-Services → Active Directory 域服務
      • DNS → DNS 服務器
      • DHCP → DHCP 服務
      • NPAS → 網絡策略和訪問服務
      • RSAT → 遠程服務器管理工具
      • Hyper-V → 虛擬化

      實際案例

      查看本機已安裝/可安裝的角色和功能
      輸出表格,[X] 表示已安裝,[ ] 表示未安裝。

      Get-WindowsFeature
      

      安裝角色或功能(單臺服務器)
      安裝 IIS 角色,并附帶管理工具。

      Install-WindowsFeature -Name Web-Server -IncludeManagementTools
      

      卸載角色或功能
      卸載IIS

      Uninstall-WindowsFeature -Name Web-Server
      

      在遠程服務器上安裝功能

      $servers = "Server01","Server02","Server03"
      foreach ($srv in $servers) {
          Install-WindowsFeature -Name Web-Server -ComputerName $srv -IncludeManagementTools
      }
      

      一次性給多臺服務器裝 IIS。


      導出/導入服務器角色配置
      導出一臺服務器的角色/功能列表:

      Get-WindowsFeature | Where-Object Installed | Export-Clixml "C:\roles.xml"
      

      在另一臺服務器上安裝同樣的配置:

      $roles = Import-Clixml "C:\roles.xml"
      $roles | Where-Object Installed | ForEach-Object {
          Install-WindowsFeature -Name $_.Name
      }
      

      實現 “一鍵克隆配置”

      管理 Hyper-V 虛擬機

      • Hyper-V 模塊 提供 200+ 個 PowerShell Cmdlet,用來管理虛擬機、虛擬硬盤、虛擬交換機等虛擬化資源。
      • 可以在兩種環境里使用:
        1. Windows Server 安裝 Hyper-V 角色時,自帶 PowerShell 模塊。
        2. Windows 10/11 專業版或企業版 安裝 Hyper-V 功能時,包含 Hyper-V 管理工具模塊。

      Cmdlet 命名前綴

      • VM → 虛擬機相關(Get-VM、Start-VM …)
      • VHD → 虛擬硬盤(New-VHD、Resize-VHD …)
      • VFD → 虛擬軟盤(很少用,基本過時)

      常見虛擬機管理 Cmdlet

      Cmdlet 功能
      Get-VM 獲取虛擬機信息(狀態、CPU、內存、磁盤等)
      New-VM 新建虛擬機(指定名稱、內存、虛擬磁盤等)
      Set-VM 修改虛擬機配置(CPU、內存、網絡適配器等)
      Start-VM 啟動虛擬機
      Stop-VM 關閉虛擬機(等價于強制關機或正常關機,可選 -Force
      Restart-VM 重啟虛擬機
      Suspend-VM 暫停虛擬機(掛起狀態)
      Resume-VM 恢復掛起的虛擬機
      Checkpoint-VM 給虛擬機創建檢查點(快照)
      Export-VM 導出虛擬機(完整配置+磁盤)
      Import-VM 從導出文件導入虛擬機

      常見虛擬硬盤 Cmdlet

      Cmdlet 功能
      New-VHD 創建虛擬硬盤(固定大小 / 動態擴展)
      Resize-VHD 調整 VHD 文件大小
      Mount-VHD 掛載 VHD 到宿主系統
      Dismount-VHD 卸載 VHD

      實際案例

      獲取所有虛擬機信息

      Get-VM
      

      顯示虛擬機的 名稱、狀態、CPU 使用率、內存分配 等。


      新建虛擬機

      New-VM -Name "TestVM" -MemoryStartupBytes 2GB -NewVHDPath "D:\VMs\TestVM\TestVM.vhdx" -NewVHDSizeBytes 40GB -Generation 2 -SwitchName "Default Switch"
      

      創建一臺名為 TestVM 的二代虛擬機,分配 2GB 內存、40GB 虛擬磁盤,并連接到默認交換機。


      修改虛擬機配置

      Set-VM -Name "TestVM" -MemoryStartupBytes 4GB -ProcessorCount 4
      

      把虛擬機內存改成 4GB,CPU 改為 4 核。


      啟動、暫停、關閉虛擬機

      Start-VM -Name "TestVM"
      Suspend-VM -Name "TestVM"
      Resume-VM -Name "TestVM"
      Stop-VM -Name "TestVM" -Force
      

      類似物理機的開機、掛起、恢復、強制關機。


      創建快照(檢查點)

      Checkpoint-VM -Name "TestVM" -SnapshotName "BeforeUpdate"
      

      給虛擬機打一個快照,方便出問題時回滾。


      導出 / 導入虛擬機

      Export-VM -Name "TestVM" -Path "D:\VMBackup\TestVM"
      Import-VM -Path "D:\VMBackup\TestVM\TestVM.vmcx"
      

      把虛擬機完整導出到備份目錄,然后導入到同一臺或另一臺服務器。

      管理 IIS

      • IIS(Internet Information Services) 是 Windows 自帶的 Web 服務器角色。
      • 通過 PowerShell,可以自動化管理 站點、應用程序、虛擬目錄、應用程序池 等。
      • 模塊:
        • IISAdministration(推薦,較新,未來標準) → Cmdlet 前綴:IIS
        • WebAdministration(老模塊,仍能用) → Cmdlet 前綴:Web
          一般來說:
      • 管理 網站/站點IISSite
      • 管理 Web 應用WebApplication
      • 管理 應用程序池WebAppPool

      常見 IIS Cmdlet

      Cmdlet 功能
      New-IISSite 新建 IIS 網站(指定物理路徑、端口、主機頭)
      Get-IISSite 獲取現有 IIS 網站信息
      Start-IISSite 啟動站點
      Stop-IISSite 停止站點
      New-WebApplication 在現有站點下創建 Web 應用
      Remove-WebApplication 刪除 Web 應用
      New-WebAppPool 創建新的應用程序池
      Restart-WebAppPool 重啟應用程序池

      實際案例

      創建一個新網站

      New-IISSite -Name "MySite" -PhysicalPath "C:\inetpub\mysite" -BindingInformation "*:8080:"
      

      創建一個名為 MySite 的網站,綁定端口 8080,使用本地目錄 C:\inetpub\mysite


      查看所有網站狀態

      Get-IISSite
      

      輸出站點列表,包括名稱、ID、狀態(Started/Stopped)、綁定信息。


      啟動 / 停止網站

      Start-IISSite -Name "MySite"
      Stop-IISSite -Name "MySite"
      

      類似 IIS 管理器里的 啟動/停止按鈕


      創建 Web 應用程序

      New-WebApplication -Name "ShopApp" -Site "MySite" -PhysicalPath "C:\inetpub\mysite\shop" -ApplicationPool "ShopPool"
      

      MySite 站點下創建名為 ShopApp 的 Web 應用,物理路徑是 shop 文件夾,并分配到應用程序池 ShopPool


      創建應用程序池

      New-WebAppPool -Name "ShopPool"
      

      創建名為 ShopPool 的應用程序池。


      重啟應用程序池

      Restart-WebAppPool -Name "ShopPool"
      

      解決 Web 應用 內存泄漏或進程卡死 的常見做法。

      管理本地計算機的設置

      下表列出了 Microsoft.PowerShell.Management 模塊中包含的一些更常見的 cmdlet:

      Cmdlet 描述
      Get-ComputerInfo 從計算機檢索所有系統和操作系統屬性
      Get-Service 檢索計算機上的所有服務的列表
      Get-EventLog 從本地和遠程計算機檢索事件和事件日志(僅在 Windows PowerShell 5.1 中可用)
      Get-Process 檢索本地或遠程計算機上所有活動進程的列表
      Stop-Service 停止一個或多個正在運行的服務
      Stop-Process 停止一個或多個正在運行的進程
      Stop-Computer 關閉本地和遠程計算機
      Clear-EventLog 刪除本地計算機或遠程計算機上的指定事件日志中的所有條目
      Clear-RecycleBin 清空計算機回收站的內容
      Restart-Computer 重新啟動本地和遠程計算機上的操作系統
      Restart-Service 停止然后啟動一項或多項服務

      運行管理 cmdlet

      若要檢索有關本地計算機的詳細信息,請運行以下命令:

      Get-ComputerInfo
      

      若要從應用程序日志檢索最新的五個錯誤條目,請運行以下命令:

      Get-EventLog -LogName Application -Newest 5 -EntryType Error
      

      若要清除本地計算機上的應用程序日志,請運行以下命令:

      Clear-EventLog -LogName Application
      

      管理權限

      Microsoft.PowerShell.Security 模塊包含許多內置 cmdlet,可用于管理 Windows 計算機上的基本安全功能。 若要查看此模塊中包含的 cmdlet,可以輸入以下命令:

      Get-command -module Microsoft.PowerShell.Security
      

      要管理對文件或文件夾的訪問權限,可使用 Microsoft.PowerShell.Security 模塊中包含的以下 cmdlet:

      Cmdlet 描述
      Get-Acl 此 cmdlet 獲取表示文件或資源安全描述符的對象。 安全描述符包括資源的訪問控制列表 (ACL)。 ACL 列出了用戶和組訪問資源所具有的權限。
      Set-Acl 此 cmdlet 更改指定項(例如文件、文件夾或注冊表項)的安全描述符,用于匹配提供的安全描述符中的值。

      檢索訪問權限

      Get-Acl 顯示對象的安全描述符

      Get-Acl -Path C:\Folder1|Format-List
      

      通過使用以下命令,可檢索更詳細的訪問屬性列表,其中包含指定對象的文件系統權限、訪問控制類型和繼承設置:

      (Get-Acl -Path C:\Folder1).Access
      

      還可以僅檢索以表格格式設置的特定 Access 屬性,如以下示例所示:

      (Get-Acl -Path C:\Folder1).Access|Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited
      

      更新文件和文件夾訪問權限

      Set-Acl cmdlet 用于將更改應用到特定對象的 ACL。 修改文件或文件夾權限的過程包括以下步驟:

      1. 使用 Get-Acl 檢索對象的現有 ACL 規則。
      2. 新建 FileSystemAccessRule,并將其應用于對象。
      3. 將新規則添加到現有 ACL 權限集。
      4. 使用 Set-Acl 將新 ACL 應用于現有文件或文件夾。

      第一步是聲明包含 Folder1 的現有 ACL 規則的變量:

      $ACL = Get-Acl -Path C:\Folder1
      

      第二步是新建 FileSystemAccessRule 變量,該變量指定要應用的訪問規范:

      $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("User1","Modify","Allow")
      

      第三步是將新的訪問規則添加到 Folder1 的現有 ACL 規則中:

      $ACL.SetAccessRule($AccessRule)
      

      最后,需要將新的 ACL 應用于 Folder1:

      $ACL | Set-Acl -Path C:\Folder1
      

      將安全描述符復制到新對象

      如果要將確切的安全描述符復制到新對象,可以使用 Get-Acl 和 Set-Acl 命令的組合,如下所示:

      Get-Acl -Path C:\Folder1|Set-ACL -Path C:\Folder2
      

      這些命令將值從 C:\Folder1 的安全描述符復制到 Folder2 的安全描述符。 命令完成后,兩個文件夾的安全描述符是相同的。

      posted @ 2025-09-30 22:20  竹等寒  閱讀(49)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 起碰免费公开97在线视频| 中文字幕无码不卡一区二区三区| 齐齐哈尔市| 无码国内精品久久人妻蜜桃| 自拍偷区亚洲综合第二区| 日本免费观看mv免费版视频网站| 日本无遮挡真人祼交视频| 日本福利一区二区精品| 国产熟女50岁一区二区| 亚洲综合另类小说色区色噜噜| 国产日产欧产系列| 色欲狠狠躁天天躁无码中文字幕| 99精品国产一区二区三区| 国内精品久久人妻无码妲| 久久夜色精品国产噜噜亚洲sv | 国产精品会所一区二区三区| 成熟了的熟妇毛茸茸| 亚洲中文字幕无码永久在线| 国产亚洲av夜间福利香蕉149| 亚洲av产在线精品亚洲第一站| 夜夜爱夜鲁夜鲁很鲁| 99久久亚洲综合精品成人网 | 人妻中文字幕精品系列| 亚洲熟妇少妇任你躁在线观看无码| 亚欧洲乱码视频在线专区| 人妻无码久久久久久久久久久| 久久综合精品国产一区二区三区无| 国产成人 综合 亚洲欧洲| 最新的国产成人精品2022 | 插入中文字幕在线一区二区三区| 中文字幕自拍偷拍福利视频| 极品vpswindows少妇| 亚洲国产精品久久久天堂麻豆宅男 | 亚洲一区二区视频在线观看| 午夜三级成人在线观看| 免费人成自慰网站| 国产视频一区二区三区麻豆| 望都县| 国产精品久久久久久久专区| 国产亚洲精品在av| 老熟妇乱子交视频一区|