最近的开发工作客户提了一个需求,就是希望记录系统的登录时间和登出时间,经过简单的讨论之后,打算使用PowerShell写成脚本挂在组策略上,因此需要这个脚本实现调用制作系统的WebService,具体代码如下:
#使用PowerShell调用WebService的脚本块 #此方法有三个参数 #url(String):要调用的WebService地址 #methodName(String):要调用的WebService方法 #parameters(Object[]):调用WebService方法所需要的参数 function Call-WebserviceMethod($url,$metbodName,$parameters){ $result = @{"ExecuteState" = $true ; "ExecuteMessage" = "" ; "ExecuteResult" = ""}; #生成代理类的命名空间 $namespace = "EnterpriseServerBase.WebService.DynamicWebCalling"; #取URL的最后服务名作为类名 $className = $url.Split(@('/'))[-1].Split(@('.'))[0]; #创建Web客户端 $webClient = New-Object -TypeName System.Net.WebClient; #读取WSDL $stream = $webClient.OpenRead($url + "?WSDL"); #创建WebService描述 $serviceDescription = [System.Web.Services.Description.ServiceDescription]::Read($stream); #生