将变量值从第二个 PowerShell 脚本返回到第一个 PowerShell 脚本?

2024-03-28

我创建1.ps1调用的脚本2.ps1脚本。打电话后2.ps1它给出了一些结果$variable。我要这个$variable结果将在我的中使用1.ps1用于操纵。

$csv = Get-Content \\10.46.198.141\try\windowserver.csv
foreach ($servername in $csv) {
    $TARGET = $servername
    $ProfileName = "CustomPowershell"
    $SCRIPT = "powershell.exe -ExecutionPolicy Bypass -File '\\10.46.198.141\try\disk_space.ps1' '$servername'"
    $HubRobotListPath = "C:\Users\Automation\Desktop\hubrobots.txt"
    $UserName = "aaaaa"
    $Password = "aaaaaaa"
    $Domain = "SW02111_domain"
    $HubOne = "sw02111"
    #lots of code here
}

现在我有第二个脚本:

Param([string]$servername)

$hash = New-Object PSObject -Property @{
    Servername = "";
    UsedSpace = "";
    DeviceID = "";
    Size = "";
    FreeSpace = ""
}

$final =@()
$hashes =@()

$hash = New-Object PSObject -Property @{
    Servername = $servername;
    UsedSpace = "";
    DeviceID = "";
    Size = "";
    FreeSpace = ""
}

$hashes += $hash
$space = Get-WmiObject Win32_LogicalDisk

foreach ($drive in $space) {
    $a = $drive.DeviceID
    $b = [System.Math]::Round($drive.Size/1GB) 
    $c = [System.Math]::Round($drive.FreeSpace/1GB) 
    $d = [System.Math]::Round(($drive.Size - $drive.FreeSpace)/1GB) 
    $hash = New-Object PSObject -Property @{
        Servername = "";
        UsedSpace = $d;
        DeviceID = $a;
        Size = $b;
        FreeSpace = $c
    }
    $hashes += $hash
}

$final += $hashes

return $final

我想用这个$final输出以使用第一个 PowerShell 脚本中的代码创建 CSV 文件:

$final | Export-Csv C:\Users\Automation\Desktop\disk_space.csv -Force -NoType

不要让事情变得比需要的更复杂。使用管道和计算属性 https://technet.microsoft.com/en-us/library/ff730948.aspx.

Get-Content serverlist.txt |
    ForEach-Object { Get-WmiObject Win32_LogicalDisk -Computer $_ } |
    Select-Object PSComputerName, DeviceID,
        @{n='Size';e={[Math]::Round($_.Size/1GB)}},
        @{n='FreeSpace';e={[Math]::Round($_.FreeSpace/1GB)}},
        @{n='UsedSpace';e={[Math]::Round(($_.Size - $_.FreeSpace)/1GB)}} |
    Export-Csv disksize.csv -Force -NoType
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将变量值从第二个 PowerShell 脚本返回到第一个 PowerShell 脚本? 的相关文章

随机推荐

  • python re.search 不适用于多行字符串

    我已将此文件加载到字符串中 some preceding stuff static char header data 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1
  • py中的pyc文件反编译失败

    感谢您的关注 我有一个pyc文件 我需要获取它的源代码 我已经尝试了很多库 但是版本有错误 这是尝试反编译时的命令行输出 C Users nigga22nd Downloads gt uncompyle6 bot pyc uncompyle
  • .NET中的序列号(注册密钥)算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有一些关于 IP 安全等的及时帖子 但我找不到专门针对算法的帖子 在我当前的一个项目中 我们决定采用离线注册密钥系统的路线 我想我们最
  • NSD昨天的日期

    我如何创建一个NSDate具有当前日期以外的自定义日期的对象 例如 我想创建昨天或两天前的变量 你应该使用NSCalendar https developer apple com library mac documentation Coco
  • 使用QMediaPlayer播放资源中的mp3文件

    我尝试播放资源中声明的 mp3 文件 但它显示 Btn clicked current media qrc sound sound FarAway mp3 Error QMediaPlayer FormatError Media state
  • 读取字符串和整数

    我想要做的是从文本文件中读取一行 其中包含一个长度 Name Surname 1 14 我知道如果我读取字符串 字符串将是所有字符 直到空格 但是 getline 将整行读取为字符串 那么我该如何阅读这样的一行呢 有什么简单的方法或者我必须
  • 将字符串拆分为字符串数组

    我正在尝试找到一种将字符串拆分为字符串数组的方法 每当遇到白色香料时我都需要将其拆分 例如 嗨 我是保罗 into 嗨 我是 保罗 如何使用正则表达式表示 split 方法中的空格 你需要一个正则表达式 例如 s 意思是 每当遇到至少一个空
  • angularjs Nodejs应用程序的最佳部署架构

    我在 AngularJS 和 NodeJS 中有 Moto Adverts 应用程序 Angularjs client side 在 Apache HTTP Server localhost 8000 上运行 但 nodejs server
  • Qt 单例实现

    我正在寻找 Singleton Qt 实现并发现this https wiki qt io Qt thread safe singleton 但我对此有一些疑问 制作的目的是什么create a QBasicAtomicPointer 重点
  • 使用 ScikitLearn 的神经网络实现时出现的问题

    我正在尝试使用 Scikit Learn 提供的神经网络实现来实现图像处理 我有近 10 000 张 JPG 格式的彩色图像 我将这些图像转换为 PNG 格式并删除了颜色信息 新图像都是黑白图像 将这些图像转换为矢量格式后 这些图像矢量形成
  • Pascal 支持向函数传递参数吗?

    我是 Pascal 新手 我正在尝试编写一个简单的程序 但在函数之间传递值时遇到问题 这是我所拥有的一小部分 program numberConverter const maxValue 4999 minValue 1 var num in
  • @echo 在cmd中关闭

    我正在尝试编写一个 BAT 脚本 我有以下内容 echo off REM Comments here SETLOCAL ENABLEDELAYEDEXPANSION set PROG ROOT C Prog set ONE 1 echo 1
  • .htaccess文件自动修改

    我有由 WordPress 提供支持的网站 并且 WordPress 根文件夹中也有 html 文件 因为 WordPress 不允许 html 文件 我编写了 htaccess 代码来打开 html 文件以及 WordPress 页面 但
  • 使用 python-ldap 向 Active Directory 进行身份验证始终返回 (97, [])

    如同这个问题 https stackoverflow com questions 140439 authenticating against active directory using python ldap 我尝试使用 python l
  • 将引用单元格公式添加到代码中

    在此输入图像描述 https i stack imgur com 48OqU jpg 这就是输出 https i stack imgur com FCqOg jpg 我在单元格 C1 中有这个公式 用于平均第 2 列中的值相对于第 1 列的
  • rake 数据库适配器与database.yml不一致

    In database yml rails 生成的默认文件 default default adapter sqlite3 pool 5 timeout 5000 development lt lt default database db
  • 无法与 aSmack 4.0.2 建立新连接

    我正在学习 Android 编程 这几天我一直在努力解决这个问题 我正在编写一个应该连接到 XMPP 服务器的 Android 应用程序 我总是遇到同样的错误 并且真的不知道我做错了什么 我尝试过通过谷歌找到的示例代码 但也无法与它们建立连
  • 循环遍历 PL/pgSQL 中给定的值列表

    我试图循环遍历几个字段并在它们上运行一个函数 FOR field IN ARRAY f1 f2 LOOP execute pg temp converFieldToLower newTableNameRaw field END LOOP 这
  • 监视单元格值并将其复制到另一个单元格

    我想知道如何监视单元格值并使该值始终在其他单元格上更新 到目前为止 我一直在使用 符号 然后选择我想要监视的单元格 问题是我正在监视的行 单元格由于另一个 vba 脚本而不断更新 当发生这种情况时我得到REF error e g On th
  • 将变量值从第二个 PowerShell 脚本返回到第一个 PowerShell 脚本?

    我创建1 ps1调用的脚本2 ps1脚本 打电话后2 ps1它给出了一些结果 variable 我要这个 variable结果将在我的中使用1 ps1用于操纵 csv Get Content 10 46 198 141 try window