Neither Puppet nor any other software running on a given machine can effect changes to a different machine without some form of cooperation for the target machine.
The longstanding default approach to this is to configure each machine to run the agent on a schedule, either via the agent's built-in scheduler (active when running the agent in daemon mode) or via an external scheduler such as cron. The traditional run interval is 30 minutes, but there is nothing special about that particular timing.
If you want to run the agent on demand on your target machines, but without logging in to the individual machines, then you're looking for some form of remote control software. Puppet is not such software, but PuppetLabs's MCollective can serve in that role, and it has good integration with Puppet.
John