微軟正式宣布推出 PowerShell DSC for Linux Version 1.1 以及新的 Linux 資源

我們非常高興的正式宣布推出 PowerShell DSC for Linux version 1.1,您可以在這裡或到 GitHub-WPSDSCLinux 下載它。在這個新版本當中多了下列幾種應用情境:

  • 支援 Azure Automation DSCAzure Automation DSC,建立在 PowerShell 期望狀態組態設定 (Desired State Configuration,DSC) 基礎之上,以便為你提供一種更簡單的組態配置管理經驗。Azure Automation DSC 採用跟目前 Azure Automation 同樣的 PowerShell 指令碼,以及同樣的 PowerShell DSC 管理層。同時,Azure Automation DSC 允許你在雲端環境中,編寫及管理 PowerShell DSC、匯入 DSC 資源以及產生 DSC 節點組態( MOF 文件)。這些 DSC 項目,將會存放在 Azure 自動化 DSC 提取伺服器 (DSC Pull Server) 當中,以便在雲端環境或企業內部的目標節點(例如,實體伺服器及 VM 虛擬主機)可以選取它們,並且自動化指定以符合它們的運作狀態,同時向 Azure 自動化回報期望組態的最新狀態。此外,在最新的 DSC Linux v1.1 版本當中,也已經支援採用 Linux 主機擔任 Azure Automation DS 的提取伺服器及報表伺服器。
  • 支援 "組態設定及節點 IDs" 分離在四月份的 WMF5 預覽版本或後續版中,此特色功能允許你建立組態設定後透過提取伺服器套用到多台主機上。如此一來,便不再需要使用提取伺服器組態配置被 DSC 管理的主機,並且追蹤分配唯一的代理程式IDs。此外,在此版本當中運作 DSC 的 Linux 節點主機,可以使用共用密碼向提取伺服器進行註冊的動作。相關的詳細資訊,請參考 WMF5 版本資訊

在 DSC Linux v1.1 版本當中,也包括目前取得資源中所有過往累積的修正檔案。

有關於此發行版本的詳細資訊,請參考 DSC Linux v1.1 版本資訊

新的 Linux 資源

目前,DSC 多了新的 Linux 可用資源,這些都可以在 PowerShell 組件庫PowerShell DSC for Linux 套件當中找到原始程式碼。此外,你可以將附加模組加入到 Linux 代理程式中,然後部署到企業內部的提取伺服器、Azure Automation DSC,或者在本地端主機上執行 InstallModule.py 指令碼即可。

nxComputerManagement 模組

  • nxComputer
    負責管理及組態設定 Linux 主機的主機名稱、DNS 網域名稱、時區。

nxNetworking 模組

  • nxIPAddress
    管理 Linux 主機網路卡當中 IPv4 / IPv6 位址組態設定。
  • nxDNSServerAddress
    管理 Linux 主機的 DNS 用戶端組態設定。
  • nxFirewall
    管理 Linux 主機的防火牆規則組態設定,支援的防火牆有 Iptables、Ip6tables、ufw、yast firewall、susefirewall2、firewalld。

下列為一台 Ubuntu Linux 伺服器進行網路組態設定的範例程式碼:

Configuration DemoNetworking{ Import-DSCResource -Module nx Import-DSCResource -Module nxNetworking Node “LinuxServer”{

nxIPAddress Eth1{     InterfaceName = "eth1"     IPAddress = "192.168.12.101"     PrefixLength = "24"     BootProtocol = "static" } nxService FWD{     Name = "firewalld"     Enabled = $true     State = "Running"     Controller = "systemd" }  nxFirewall WsManIn {    Name = "Allow wsman in"    InterfaceName = "eth0"    FirewallType = "firewalld"    Ensure = "Present"    Access = "Allow"    Direction = "Input"    DestinationPort = "5986"    Position = "Before-End" } nxFirewall FWConfig {    Name = "Allow http in"    InterfaceName = "eth0"    FirewallType = "firewalld"    Ensure = "Present"    Access = "Allow"    Direction = "Input"    DestinationPort = "80"    Position = "Before-End" }

} }

對於 PowerShell 程式方面有任何問題歡迎到這裡發問,預知更多 PowerShell 11/19 (四) 有相關研討會,歡迎點這裡報名

 

原文翻譯自:PowerShell DSC for Linux version 1.1 is Now Available! And New Linux Resources!