code: func (c *Client) CreateShell() (*Shell, error) {
  	request := NewOpenShellRequest(c.url, &c.Parameters)
  	defer request.Free()
  
  	response, err := c.sendRequest(request)
  	if err != nil {
  		return nil, err
  	}
  
  	shellID, err := ParseOpenShellResponse(response)
  	if err != nil {
  		return nil, err
  	}
  
  	return c.NewShell(shellID), nil
  
  }
docs: // CreateShell will create a WinRM Shell,
  // which is the prealable for running commands.