private void NewItemCreateComputerConnection(string Name) { this.helper = new WSManHelper(this); WSManProviderNewItemComputerParameters dynamicParameters = base.DynamicParameters as WSManProviderNewItemComputerParameters; string parameterSetName = "ComputerName"; if (dynamicParameters != null) { if (dynamicParameters.ConnectionURI != null) { parameterSetName = "URI"; } this.helper.CreateWsManConnection(parameterSetName, dynamicParameters.ConnectionURI, dynamicParameters.Port, Name, dynamicParameters.ApplicationName, (bool) dynamicParameters.UseSSL, dynamicParameters.Authentication, dynamicParameters.SessionOption, base.Credential, dynamicParameters.CertificateThumbprint); if (dynamicParameters.ConnectionURI != null) { Name = dynamicParameters.ConnectionURI.OriginalString.Split(new string[] { string.Concat(new object[] { ":", dynamicParameters.Port, "/", dynamicParameters.ApplicationName }) }, StringSplitOptions.None)[0].Split(new string[] { "//" }, StringSplitOptions.None)[1].Trim(); } base.WriteItemObject(this.GetItemPSObjectWithTypeName(Name, "Container", null, null, "ComputerLevel", WsManElementObjectTypes.WSManConfigContainerElement, null), "WSMan" + '\\' + Name, true); } else { dynamicParameters = new WSManProviderNewItemComputerParameters(); this.helper.CreateWsManConnection(parameterSetName, dynamicParameters.ConnectionURI, dynamicParameters.Port, Name, dynamicParameters.ApplicationName, (bool) dynamicParameters.UseSSL, dynamicParameters.Authentication, dynamicParameters.SessionOption, base.Credential, dynamicParameters.CertificateThumbprint); base.WriteItemObject(this.GetItemPSObjectWithTypeName(Name, "Container", null, null, "ComputerLevel", WsManElementObjectTypes.WSManConfigContainerElement, null), "WSMan" + '\\' + Name, true); } }
/// <summary> /// this method creates the connection to new machine in wsman provider. /// This is called from New-Item. /// </summary> /// <param name="Name"></param> private void NewItemCreateComputerConnection(string Name) { helper = new WSManHelper(this); WSManProviderNewItemComputerParameters dynParams = DynamicParameters as WSManProviderNewItemComputerParameters; string parametersetName = "ComputerName"; if (dynParams != null) { if (dynParams.ConnectionURI != null) { parametersetName = "URI"; } helper.CreateWsManConnection(parametersetName, dynParams.ConnectionURI, dynParams.Port, Name, dynParams.ApplicationName, dynParams.UseSSL, dynParams.Authentication, dynParams.SessionOption, this.Credential, dynParams.CertificateThumbprint); if (dynParams.ConnectionURI != null) { string[] constrsplit = dynParams.ConnectionURI.OriginalString.Split(new string[] { ":" + dynParams.Port + "/" + dynParams.ApplicationName }, StringSplitOptions.None); string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); Name = constrsplit1[1].Trim(); } WriteItemObject(GetItemPSObjectWithTypeName(Name, WSManStringLiterals.ContainerChildValue, null, null, "ComputerLevel", WsManElementObjectTypes.WSManConfigContainerElement), WSManStringLiterals.rootpath + WSManStringLiterals.DefaultPathSeparator + Name, true); } else { dynParams = new WSManProviderNewItemComputerParameters(); helper.CreateWsManConnection(parametersetName, dynParams.ConnectionURI, dynParams.Port, Name, dynParams.ApplicationName, dynParams.UseSSL, dynParams.Authentication, dynParams.SessionOption, this.Credential, dynParams.CertificateThumbprint); WriteItemObject(GetItemPSObjectWithTypeName(Name, WSManStringLiterals.ContainerChildValue, null, null, "ComputerLevel", WsManElementObjectTypes.WSManConfigContainerElement), WSManStringLiterals.rootpath + WSManStringLiterals.DefaultPathSeparator + Name, true); } }