Microsoft Virtualization Discussions

Test-Path

tyrone_owen_1

Hi,

 

Hope you can help.

 

I want to get the IP address of a SVM's cifs lif into a variable and use this variable in Test-Path, but I can't work out what's happening:

 

 

 

$newshare = share_test
$activevserverip = Get-NcNetInterface -Vserver $activevserver -DataProtocols cifs | Select-Object Address

PS C:\Windows\system32> $activevserverip

Address 
------- 
xxx.xxx.21.10

Test-Path "\\$activevserverip\$newshare" -verbose

False

 

 

 

I receive a 'false' even though I know the path is up and accessible. What am I doing wrong please? Is it something like the data type of the IP address? If I create a path variable the IP address details are enclosed in a hash table (?). How can I reduce it to just the IP address?

 

PS C:\Windows\system32> $path = "\\$activevserverip\$newshare"

PS C:\Windows\system32> $path
\\@{Address=xxx.xxx.21.10}\share_test

 

Sorry if this is basic

Thanks

1 ACCEPTED SOLUTION

GidonMarcus

Use as

 

Test-Path "\\$($activevserverip.address)\$newshare" -verbose

 

Gidi Marcus (Linkedin) - Storage and Microsoft technologies consultant - Hydro IT LTD - UK

View solution in original post

4 REPLIES 4

GidonMarcus

Use as

 

Test-Path "\\$($activevserverip.address)\$newshare" -verbose

 

Gidi Marcus (Linkedin) - Storage and Microsoft technologies consultant - Hydro IT LTD - UK

View solution in original post

tyrone_owen_1

Brilliant, thank you.

 

I can see why that works, however I'm not sure why the below doesn't filter down to just the address:

 

>$activevserverip = Get-NcNetInterface -Vserver $activevserver -DataProtocols cifs | Select-Object Address

>activevserverip

Address 
------- 
10.4.0.9

 

Any links that you could share which would explain this please?

 

Thanks again

GidonMarcus

Hi,

 

As in the example below you can get the type by piping the output to GM (get-member).

With using only the "select" - you still have it in a structured data type (in my get-disk example below "Selected.Microso...."), As test-parh don't know this odd data-type ,  you have to extract it into a format it expects (can see in get-help test-path it expects a string). 

PS C:\Users\g> get-help Test-Path

NAME
Test-Path

SYNTAX
Test-Path [-Path] <string[]> [-Filter <string>]..........

 

PS C:\Users\g> Get-Disk | select FriendlyName | gm


TypeName: Selected.Microsoft.Management.Infrastructure.CimInstance

Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
FriendlyName NoteProperty string FriendlyName=INTEL SSDSC2BF180A5L

 

PS C:\Users\g> (Get-Disk).FriendlyName
INTEL SSDSC2BF180A5L
PS C:\Users\g> (Get-Disk).FriendlyName | gm


TypeName: System.String

Name MemberType Definition
---- ---------- ----------
Clone Method System.Object Clone(), System.Object ICloneable.Clone()

.......

Gidi Marcus (Linkedin) - Storage and Microsoft technologies consultant - Hydro IT LTD - UK

tyrone_owen_1

Thanks for the additional info - very helpful

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public