Setting up scheduled tasks and remote access for a small team

When you run a small team on a single Windows VPS, two things quickly become non-negotiable: automated tasks that run on a schedule whether someone is logged in or not, and reliable remote access for multiple users without stepping on each other. This article walks through exactly that, setting up Windows VPS scheduled tasks, configuring multi-user Remote Desktop access, and spinning up a simple file share so everyone works from the same data without emailing files around. The environment is a Windows Server VPS hosted in Vietnam, but the steps apply to any Windows Server instance.
Windows VPS 的任务计划和远程桌面配置允许小型团队共享一台服务器并自动运行维护作业。
Task Scheduler and Remote Desktop configuration on a Windows VPS let small teams share one server and run maintenance jobs automatically.
Prerequisites
- A Windows Server VPS with Administrator access. For this guide we use a Windows Server 2022 instance with 2 GB RAM and 40 GB NVMe storage, which is sufficient for a team of 3-5 users handling light automation and file sharing. You can get as low as a 2 GB RAM VPS from providers like Windows VPS offerings in Vietnam.
- RDP client installed on each team member's local machine (Windows Remote Desktop Connection, Microsoft Remote Desktop for macOS, or a third-party client like Remmina for Linux).
- Understanding that the VPS's domestic bandwidth is 100 Mbps on a 1 Gbps port (the port is 1 Gbps, the speed is 100 Mbps for domestic traffic) and international traffic is a shared pool of roughly 4 to 10 Mbps, fine for RDP sessions and file operations that don't require high throughput.
- A static public IPv4 address (included with the VPS).
- Firewall rules allow RDP (port 3389) and file sharing (ports 445, 139), we cover this below.
Why use a Windows VPS for team workflows
Putting a small team on one Windows VPS centralizes everything: scheduled scripts, shared files, and a common desktop environment. Instead of each person running cron jobs locally or keeping project files on their laptop, you get a single point of truth. A Vietnam-based VPS also means low latency for users inside the country. Vietnam's major internet exchanges are run by VNPT (Vietnam Posts and Telecommunications Group), Viettel (Viettel Group), FPT Telecom (FPT Corporation), and CMC Telecom (CMC Corporation), all major carriers with Tier 3 data centers. If your team members are located in Vietnam, a VPS sitting in a Vietnamese data center will give them sub-20 ms RDP latency. Even for users outside Vietnam, a well-tuned RDP session over the shared international pool is perfectly usable for administrative tasks.
Step 1, Create scheduled tasks for routine jobs
Windows Task Scheduler is the built-in tool for running scripts or programs at set intervals or when certain events happen. For a small team, common uses include: daily database backup scripts, log rotation or cleanup, running a PowerShell report each morning, or syncing files to an external storage.
Open Task Scheduler from the Start menu or by running taskschd.msc. Here is how to set up a scheduled task that runs a PowerShell script every night at 2 AM:
- Create a task folder (optional but tidy): right-click Task Scheduler Library → New Folder → name it
TeamScripts. - Create a task: right-click the folder → Create Task.
- General tab: give it a name like
NightlyBackup. Select Run whether user is logged on or not, this is critical. The task will execute even if no RDP session is active. Check Run with highest privileges if the script needs admin rights. - Triggers tab: New → begin the task On a schedule → Daily → set start time to
02:00. Check Enabled. - Actions tab: New → Action: Start a program → Program/script:
powershell.exe→ Add arguments:-File "C:\Scripts\NightlyBackup.ps1", you will create the script file inC:\Scriptsfirst. - Conditions tab: uncheck Start the task only if the computer is on AC power, a VPS is always powered.
- Settings tab: check Allow task to be run on demand and If the task fails, restart every minute (set to 3 times).
Verify the task after creation: right-click it → Run. It should start immediately. Check the History tab for status. You can also open Event Viewer and look under Applications and Services Logs → Microsoft → Windows → TaskScheduler → Operational for detailed logs.
A common gotcha: the script runs under the SYSTEM account, which has no access to network shares that require explicit credentials. If your backup target is a network path, either grant SYSTEM access or configure the task to run as a specific domain/service user.
Editing a scheduled task after creation
You can modify any trigger, action, or condition by double-clicking the task. If you need to change the user account under which the task runs, go to the General tab and click Change User or Group. After editing, test the task again, a changed setting does not take effect on a currently running instance but the next trigger picks it up.
Step 2, Configure multi-user RDP access
By default, Windows Server allows only two concurrent RDP sessions. For a team of three or more, you need to enable more sessions, and that usually means installing the Remote Desktop Services (RDS) role, or using a workaround if your budget does not stretch to RDS CALs.
Option A, Use the built-in administrative sessions (small teams, 2-3 users)
Windows Server permits up to two simultaneous remote admin connections without RDS. For a team of exactly two people, this works out of the box. Each person logs in with a separate user account (not a shared Admin account). Create user accounts via Server Manager → Local Users and Groups → Users. Add each user to the Remote Desktop Users group:
net localgroup "Remote Desktop Users" user1 /add
net localgroup "Remote Desktop Users" user2 /add
Option B, Enable more sessions via Group Policy (workaround, not fully licensed)
You can override the session limit via Group Policy, but this violates Windows Server licensing if you exceed two admin sessions for non-administrative work, the official term is "Remote Desktop Services licensing mode must be configured." For a small team testing or internal tools, many administrators use this as a practical stopgap. Open gpedit.msc and navigate to Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Connections. Set Restrict Remote Desktop Services users to a single Remote Desktop Services session to Enabled and Limit number of connections to the number you need (e.g., 5). Then in the same path, enable Restrict Remote Desktop Services users to a single Remote Desktop Services session to prevent a user opening multiple sessions and consuming slots.
Important caveat: This is not a substitute for proper RDS CALs. Microsoft audits do happen. If this is for a production business, budget approximately $160 per user per year for RDS CALs, or consider a Linux-based alternative like XRDP. For a small team with limited budget, many just run this workaround and accept the licensing risk.
Secure RDP on a public IP
Since your Windows VPS has a public IPv4, RDP port 3389 will be scanned within minutes of being online. Do these four things immediately:
- Change the RDP port from 3389 to something non-standard (e.g., 4390). Edit the registry key
HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumberand change the DWORD value (decimal). Then restart the service or reboot. - Enable Network Level Authentication (NLA), already on by default in current Windows Server versions, but verify: in System Properties → Remote tab, check Allow connections only from computers running Remote Desktop with Network Level Authentication.
- Set up Windows Defender Firewall to allow RDP only from specific IP ranges if possible. For a team with static public IPs, create an inbound rule for TCP port 4390 and limit the Remote IP addresses to your office IPs.
- Enable RDP session timeouts via Group Policy to auto-logoff idle sessions: Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits → set "Set time limit for active but idle Remote Desktop Services sessions" to 15 minutes and "End session when time limits are reached" to Enabled.
Step 3, Set up a shared file folder
A basic network share on a Windows VPS is dead simple and avoids the sync headache of everyone working from local copies.
- Create a folder on the VPS, e.g.,
C:\TeamData. - Right-click the folder → Properties → Sharing tab → Share. Add each user account (
user1,user2, etc.) and give them Read/Write permissions. - Under the Security tab (NTFS permissions), ensure the same users have Modify permissions. A common mistake: a user can see the share but cannot write because NTFS blocks it.
- From a client machine, map a network drive:
\\VPS_PUBLIC_IP\TeamData. If you changed the RDP port, the file share still uses the default ports (445, 139), ensure Windows Firewall allows inbound traffic on those ports from your team's IPs only.
Performance note: File sharing over a domestic 100 Mbps link is fast, transferring a 100 MB file takes about 8 seconds. Over the international shared pool (4-10 Mbps), the same file takes 80-200 seconds. For teams with members outside Vietnam, consider using the file share only for small documents and use a separate sync solution (e.g., Syncthing or a Tailscale subnet) for larger files. Alternatively, host a lightweight file sync tool like FileCloud or Nextcloud on the same VPS, though that is a separate setup.
Troubleshooting common issues
Task does not run when the user is not logged on
The most common cause is the task's user account lacking the "Log on as a batch job" right. Open Local Security Policy (secpol.msc) → Local Policies → User Rights Assignment → Log on as a batch job → add the user or BUILTIN\Administrators. After adding, run gpupdate /force and test the task again.
RDP connection drops frequently
Check the RDP session timeout policy (covered above). Also, if the session is idle for more than a few minutes, the international bandwidth pool might cause the connection to appear unresponsive, but this is usually the RDP client's auto-reconnect kicking in. If drops happen every 5-10 minutes, check the VPS's CPU and memory utilization. A 2 GB RAM VPS can run out of memory with 3-4 RDP sessions and heavy file sharing.
Cannot connect to file share from outside Vietnam
File sharing over the internet is not encrypted by default. If your team members are outside Vietnam, consider using a VPN (WireGuard or OpenVPN) to tunnel the SMB traffic. WireGuard is lightweight and adds minimal overhead. On a Windows VPS, you can install WireGuard as a service and have team members connect to the VPS's WireGuard endpoint, making file shares accessible via the VPN subnet instead of the public IP. This also adds a security layer, the share is never exposed to the public internet.
FAQ
How many scheduled tasks can I run on a Windows VPS?
There is no hard limit from the OS, you can create hundreds. The practical limit depends on how many tasks run simultaneously and how much CPU/RAM they consume. On a 2 GB RAM VPS, fifteen to twenty concurrent lightweight tasks (PowerShell scripts, small database jobs) run fine. Resource-heavy tasks like video transcoding or large database dumps should be scheduled to avoid overlap.
Does a Vietnam VPS need a static IP for RDP and file shares?
Yes, a static IPv4 is essential. Dynamic IPs break RDP connections and DNS resolution for file shares. All Windows VPS plans from providers like thueVPS include one dedicated IPv4 from the Vietnam IP range as part of the package, so this is taken care of.
Can multiple users run Task Scheduler at the same time?
Yes. Each user with Administrator privileges can create and manage their own tasks. Tasks run under the security context of the user specified in the task definition. For security, avoid running all tasks as Administrator, create a dedicated user account for automation (e.g., svc-automation) and give it only the permissions it needs.
Is it safe to expose RDP to the internet?
It is not ideal, but with proper hardening it is acceptable for small teams. Change the default port, enable NLA, use strong passwords or certificate-based authentication, restrict access by IP if possible, and monitor failed logins via Event Viewer (Security log, event ID 4625). For an additional layer, consider a VPN tunnel instead of exposing RDP directly, though for a 3-person team the extra complexity is often not worth it.
What happens if my VPS runs out of disk space from scheduled tasks?
Scheduled tasks that write logs or backup files can fill the disk quickly. Set up a cleanup task: a PowerShell script that deletes files older than 30 days runs weekly via Task Scheduler. Also configure a disk space alert using Performance Monitor or a simple script that emails you when free space drops below 5 GB.
Can I access the VPS file share from Linux or macOS?
Yes. Linux connects to SMB shares via mount -t cifs or through the file manager (e.g., Nautilus) using smb://IP/Share. macOS uses Go → Connect to Server → smb://IP/Share. The SMB protocol is cross-platform. Windows Server supports SMB versions 2 and 3 by default, which work with modern clients.
Related articles
- Securing RDP on a public IP: the four settings that matter
- Sizing RAM for Windows Server VPS: why 2 GB is never enough
- Windows Server vs Linux for a small business VPS
Windows VPS 任务计划与远程桌面配置
为小型团队配置 Windows VPS 上的任务计划、多用户远程桌面和文件共享,可以集中管理所有日常工作。本文详细介绍了使用任务计划程序创建定时备份脚本、调整远程桌面并发连接限制、以及设置 SMB 共享文件夹的步骤。对于位于越南的团队,VPS 的国内带宽为 100 Mbps,适合 RDP 和文件共享操作。安全方面建议更改默认 RDP 端口、启用网络级身份验证并限制访问 IP。任务计划记得勾选“不管用户是否登录都要运行”以确保无人值守执行。


