Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Hi Guys,
In cases where you need to know to which Igroup a LUN is mapped to (7-Mode script):
Param(
[Parameter(Mandatory=$true)]
[string]$Filer
)
function Get-LUNData($LUN){
$LunPath = $LUN.Path
$LunSize=$LUN.Size # Size in bytes
Get-NaLunMap -Path $LunPath -Controller $Connection|ForEach-Object{
$output = New-Object psobject
$Map=$_
$output |Add-Member NoteProperty "LUN Path" $LunPath
$output |Add-Member NoteProperty "Size (GB)" ("{0:N0}" -f ($LunSize / 1GB))
$output |Add-Member NoteProperty "Mapped to" $Map.Name
Write-Output $output
}
}
if(-not $Credential) {
$Credential = Get-Credential
}
$Connection = Connect-NaController $Filer -HTTPS -Credential $Credential -Transient
if(-not $Connection){
Exit -1
}
Get-NaLun -Controller $Connection|ForEach-Object{
Get-LUNData -LUN $_
}
You can even export it to CSV file easily:
Get-LUNInfo.ps1 -Filer [filer name] |Export-Csv -Path MyCSVFile.csv -NoTypeInformation -Delimiter ";"
Maybe someone needs it.
Solved! See The Solution
Hi @FelipeMafra,
Great work, and thank you for helping the community. If you're willing to send me your address (in a private message please) I'd be happy to mail you some NetApp stickers.
For clustered Data ONTAP users, you can get similar information using this bit of script:
Get-NcLun | Select Path,`
@{N='Size';E={ $_.Size | ConvertTo-FormattedNumber }},`
@{N='SizeUsed';E={ $_.SizeUsed | ConvertTo-FormattedNumber }},`
Online,`
Mapped,`
@{N='igroup';E={ (Get-NcLunMap -Path $_.Path).InitiatorGroup }} | Format-Table -AutoSizeAndrew
Hi @FelipeMafra,
Great work, and thank you for helping the community. If you're willing to send me your address (in a private message please) I'd be happy to mail you some NetApp stickers.
For clustered Data ONTAP users, you can get similar information using this bit of script:
Get-NcLun | Select Path,`
@{N='Size';E={ $_.Size | ConvertTo-FormattedNumber }},`
@{N='SizeUsed';E={ $_.SizeUsed | ConvertTo-FormattedNumber }},`
Online,`
Mapped,`
@{N='igroup';E={ (Get-NcLunMap -Path $_.Path).InitiatorGroup }} | Format-Table -AutoSizeAndrew
Thanks for the Script, Can you help me resolve the below error that PS is throwing back to back when I run this script.
Get-LUNInfo : The term 'Get-LUNInfo' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At D:\Automation\Lun_Info.ps1:34 char:5
+ Get-LUNInfo -LUN $_
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-LUNInfo:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Hello @Pramod_Kumar,
It appears to be a bug/typo in the script. The line should be
Get-LUNData -LUN $_
Andrew
Exactly,
I misspelled since my script name is Get-LUNInfo. I've just fixed original post.
Thanks @FelipeMafra
Can you plase help me with the below as well
Get-LUNInfo.ps1 -Filer pr-netapp-01 |Export-Csv -Path pr-netapp-01.csv -NoTypeInformation -Delimiter ";"
when I run the above at powershell it gives the below error. I might be running it wrong.
Get-LUNInfo.ps1 : The term 'Get-LUNInfo.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path
was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-LUNInfo.ps1 -Filer pr-netapp-01 |Export-Csv -Path pr-netapp-01.csv -NoTypeIn ...
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-LUNInfo.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Save the first source code using this name: Get-LUNInfo.ps1 then you'll be able to use it.