Powershell应用程序-主机和客户端模型

Powershell应用程序-主机和客户端模型,powershell,Powershell,我有一个收集系统清单的脚本。我想将此脚本转换为应用程序,以连接我的所有网络服务器并提取信息 问题1。如何将脚本部署到远程计算机 问题2。如果发生更改,如何更新代码 第三季度。如何控制一台服务器中的所有内容(从一台服务器管理所有远程服务器,并在发生任何更改时更新代码以收集资源清册) 第四季度。在powershell中编写的任何应用程序,具有类似的主进程和客户端 我已尝试将脚本转换为exe,并通过网络复制并在本地运行 Function Invent { param($servers) foreac

我有一个收集系统清单的脚本。我想将此脚本转换为应用程序,以连接我的所有网络服务器并提取信息

问题1。如何将脚本部署到远程计算机

问题2。如果发生更改,如何更新代码

第三季度。如何控制一台服务器中的所有内容(从一台服务器管理所有远程服务器,并在发生任何更改时更新代码以收集资源清册)

第四季度。在powershell中编写的任何应用程序,具有类似的主进程和客户端

我已尝试将脚本转换为exe,并通过网络复制并在本地运行

Function Invent
{
param($servers)

foreach ($server in $servers) 
{

       $output = [ordered]@{

            'ServerName'         = $server
            'OperatingSystem'    = (Get-CimInstance -ComputerName $server -ClassName Win32_OperatingSystem).Caption
            'FreeDiskSpace (GB)' = [Math]::Round(((Get-CimInstance -ComputerName $server -ClassName Win32_LogicalDisk | Measure-Object -Property FreeSpace -Sum).Sum / 1GB),1)
            'Memory (GB)'        = (Get-CimInstance -ComputerName $server -ClassName Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum /1GB

        }

        [pscustomobject]$output | out-file .\$server.txt
    }}
如何使此脚本作为主服务器运行并将脚本部署到远程计算机?如果有代码更新,如何更新远程计算机?如果安装为服务,如何更新服务的代码


脚本主要应该在远程机器资源上运行。只有单服务器中的触发点

您在这里问了很多问题,每个问题本身都非常广泛。我不清楚为什么要引入在每个客户机上运行和维护此代码的复杂性,而您可以像现在这样从“主”服务器查询此信息。除非您的脚本比这里展示的简单函数更多,否则这里没有任何东西需要客户端处理,那么您为什么要这样做呢?是否有大量服务器需要清点?多个站点不一定具有快速连接?安全限制?在进行更改时更新脚本是什么意思?通常,更改本身就是一个更新。您能说明您的问题(错误)是什么吗?此外,函数名总是有一个动名词名。它永远不应该只是一个名词。@BACON我必须每周运行一个脚本到1k+左右的服务器,所以我不想使用“主”服务器资源。如果它在单个服务器上运行,运行速度会更快。这里的示例显示的是实际脚本大约运行10分钟(已测试)本地。如果需要,代码将被更改。如何做到这一点?我们有安全限制,并且没有启用PSremoting和6分钟。@Alex\P问题是“需要在远程服务器中运行脚本并使用其资源”。脚本将在需要时更改。任何人都可以在这方面提供帮助吗?