guidox / PC

Share Files Between Windows and a Mac over SMB

TL;DR

Share a folder on Windows with an explicit account, then connect from the Mac with **smb://hostname/share**. Disable guest access and use a named user on both sides.

Before you start

Requirements

  • Both machines on the same LAN
  • An account on the sharing side
  • 15 minutes
Step by step

Instructions

01

Create the share with an explicit account

A share that allows Everyone is the fastest way to fail on a Mac, because guest access is disabled on macOS by default. Name the account that will connect.

New-Item -ItemType Directory 'C:\Shares\Exchange' -Force | Out-Null
New-SmbShare -Name 'Exchange' -Path 'C:\Shares\Exchange' -FullAccess 'PC01\bob'
Grant-SmbShareAccess -Name 'Exchange' -AccountName 'PC01\bob' -AccessRight Full -Force
Get-SmbShare -Name 'Exchange' | Select-Object Name,Path,Description
02

Check the SMB server settings

Signing is mandatory in newer builds, and SMB1 is gone. macOS supports SMB2 and SMB3, so a modern Windows share works without legacy protocols.

Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol,EnableSMB2Protocol,RequireSecuritySignature,EncryptData
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Select-Object DisplayName,Enabled,Profile -First 5
Get-NetConnectionProfile | Select-Object Name,NetworkCategory
03

Connect from the Mac

**Finder > Go > Connect to Server** takes the SMB URL. The credentials are the Windows account name and its password, not the Microsoft account email unless that is how the account is set up.

# on the Mac: Finder > Go > Connect to Server
# smb://PC01/Exchange
# user name: PC01\bob  (or bob)   password: the Windows password
# check the Windows side after the connection:
Get-SmbSession | Select-Object ClientComputerName,ClientUserName,NumOpens
04

Share from the Mac to Windows

macOS has its own SMB server. Enable File Sharing, add the user, then map the share on Windows with the Mac's short name or IP.

# on the Mac: System Settings > General > Sharing > File Sharing > Options
# enable SMB sharing and tick the account
net use Z: \\192.168.1.60\bob /user:bob
Get-SmbMapping | Select-Object LocalPath,RemotePath,Status
05

Fix the credential loop

Windows caches the Mac credential and keeps retrying it. Clearing the cached entry is the fix when the password changed on the Mac.

cmdkey /list | Select-String -Pattern '192.168.1.60'
cmdkey /delete:192.168.1.60
net use Z: /delete
net use Z: \\192.168.1.60\bob /user:bob
06

Verify read and write in both directions

Create a file on each side and read it from the other. Permissions metadata differs between APFS and NTFS, so a file that copies but cannot be written back is a permission issue, not a protocol one.

New-Item 'C:\Shares\Exchange\from-windows.txt' -Value 'ok' -Force | Out-Null
Get-ChildItem 'C:\Shares\Exchange' | Select-Object Name,Length,LastWriteTime
Get-SmbSession | Select-Object ClientComputerName,NumOpens,Dialect
Troubleshooting

Common issues

The Mac says the share does not exist

Name resolution failed. Use the IP address, or add the Windows host to the Mac's hosts file. Bonjour does not always cover SMB.

Authentication fails with the correct password

Use the local account name with the computer prefix, and check that the account has a password. A blank password is refused by default.

The connection drops after sleep

The Mac unmounts an idle share. Reconnect from Finder, or use a static IP so the mount can be re-established.

Files copy but permissions look wrong

NTFS ACLs do not map to POSIX permissions. Use a share with simple permissions for cross-platform work.

FAQ

Frequently asked

Do I need SMB1 for an old Mac?

Only for very old macOS releases. Enabling SMB1 is a security risk and should stay off on a current network.

Can Time Machine write to the Windows share?

Not reliably. Time Machine expects an AFP or SMB server with Apple's extensions, which Windows does not provide.

Does this work over the internet?

Do not expose SMB directly. Use a VPN and keep the share on the LAN side.

How to undo this

Remove the share with Remove-SmbShare -Name 'Exchange' -Force, delete the mapping with net use Z: /delete and the cached credential with cmdkey /delete:192.168.1.60.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress