Function 当我从一个函数返回一个变量时,它不会显示所有的变量吗?

Function 当我从一个函数返回一个变量时,它不会显示所有的变量吗?,function,powershell,variables,return,Function,Powershell,Variables,Return,我有一个从Excel工作表中检索子网的函数(例如10.123.123.64/26)。然后我从结尾修剪“.64/26”字符并返回它。当我调用函数外部的变量时,它只显示前两个字符(10) 我希望能够在函数外部调用变量$Subnet1。@MathiasR.Jessen在注释部分: 您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet@MathiasR.Jessen,在注释部分: 您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=G

我有一个从Excel工作表中检索子网的函数(例如10.123.123.64/26)。然后我从结尾修剪“.64/26”字符并返回它。当我调用函数外部的变量时,它只显示前两个字符(10)


我希望能够在函数外部调用变量
$Subnet1

@MathiasR.Jessen在注释部分:


您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet

@MathiasR.Jessen,在注释部分:


您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet

您是否已将函数输出保存到$Var并在其上使用了$VarName.Length?您是否尝试通过使用
$VarName | Format List
来确认这不是一个显示问题?可能您正在获取一个列表,尝试迭代返回。您是否可以提供以下输出:
Write Host$search.offset(0,3)。Text
无法复制此结果,当我将
10.123.123.
应用到一个在B列中有搜索项、在F列中有示例IP地址的工作表时,我得到了它。你能给我们看一下调用你函数的代码吗?@Kevmc这不是你要找的变量值-你需要将函数的输出分配给调用范围中的一个新变量:
$Subnet1Result=GetSubnet
是否已将函数输出保存到$Var中并在其上使用了
$VarName.Length
?您是否尝试通过使用
$VarName | Format List
来确认这不是一个显示问题?可能您正在获取一个列表,尝试迭代返回。您是否可以提供以下输出:
Write Host$search.offset(0,3)。Text
无法复制此结果,当我将
10.123.123.
应用到一个在B列中有搜索项、在F列中有示例IP地址的工作表时,我得到了它。你能给我们看一下调用你函数的代码吗?@Kevmc这不是你要找的变量值-你需要将函数的输出分配给调用范围中的一个新变量:
$Subnet1Result=GetSubnet
function GetSubnet() {
    $FilePath = "C:\fwchange\IP.xlsx"
    $SheetName = "STORE SUBNET MASK"
    $Excel = New-Object -ComObject Excel.Application
    $WorkBook = $Excel.Workbooks.Open($FilePath)
    $WorkSheet = $WorkBook.Sheets.Item($SheetName)

    $Range = $Worksheet.Range("B1").EntireColumn
    $Search = $Range.Find($storeno)        
    Write-Host $search.Offset(0, 3).Text
    $Subnet = $search.Offset(0, 3).Text
    $Subnet1 = $Subnet.TrimEnd('64/26')

    $WorkBook.Save()
    $WorkBook.Close()
    $Excel.Quit()

    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel)
    Remove-Variable excel
    Stop-Process -Name "Excel" -Force

    return $Subnet1
}