Vediamo come richiamare un web service usando la PowerShell.
Per prima cosa dobbiamo creare una dll che rappresenta il webservice che vogliamo richiamare e successivamente, tramite questa, consumeremo il webservice.

Per l'esempio utilizzeremo un web service di SharePoint 2007 (WSS3 - MOSS)

Creiamo la dll

Iniziamo con il creare il file .cs, posizioniamoci in una cartella vuota e da linea di comando digitiamo
DOS / Batch file
wsdl http://localhost/_vti_bin/Lists.asmx
e successivamente compiliamolo
DOS / Batch file
csc /t:library Lists.cs
ottenendo così il file Lists.dll

I file citati si trovano, normalmente, in:
C:\Programmi\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe

Consumiamo il web service

Apriamo la PowerShell e digitiamo
PowerShell
#carico la dll del webservice
$dll = Get-Item Lists.dll
[void][System.Reflection.Assembly]::LoadFrom($dll)

#apro il webservice
$wslist = New-Object Lists

#passo le credenziali
$wslist.Credentials=[System.Net.CredentialCache]::DefaultCredentials

#accedo alla lista
$doc = $wslist.GetLists("Pages")

#visualizzo alcune info
$doc | select Title, Itemcount, defaultviewurl
ottengo un risultato simile a questo
Title                 ItemCount             DefaultViewUrl
-----                 ---------             --------------
Pages                 3                     /Pages/Forms/AllItems.aspx
Potrebbe interessarti anche: