This is not directly possible but you can pass a JSON attrbiutes file to the chef client which sets node attributes for the chef run. The file has to be something like
{
"my_cookbook": {
"my_attribute": "my_value"
}
}
You can then access this attribute in your recipe like any other with node['my_cookbook']['my_attribute'] when calling chef-client <your options here> --json-attributes /tmp/chef-attributes.json. Looks quite bumpy but you could write a small helper script which writes the JSON and calls chef.
I am assuming the target node is bootstrapped in a chef-server since you want to invoke chef-client on the node. So why don’t you just assign the node to a chef-server environment, update the environment with the desired json attributes by using knife and then invoke the chef-client through winrm