Files
claudetools/scratch-mkshare.ps1
Howard Enos 2fd646218d sync: auto-sync from HOWARD-HOME at 2026-07-07 17:33:19
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-07 17:33:19
2026-07-07 17:33:56 -07:00

29 lines
1.1 KiB
PowerShell

$ErrorActionPreference='Stop'
$path='C:\Backups\TPS-SERVER'
New-Item -ItemType Directory -Path $path -Force | Out-Null
# SMB share granting the old server's machine account + Domain Admins
if(Get-SmbShare -Name 'TPSBackup' -ErrorAction SilentlyContinue){
Write-Host "share TPSBackup already exists"
} else {
New-SmbShare -Name 'TPSBackup' -Path $path -FullAccess 'TPS\Domain Admins','TPS\TPS-SERVER$' -CachingMode None | Out-Null
Write-Host "created share TPSBackup"
}
# NTFS ACL: SYSTEM, Administrators, Domain Admins, TPS-SERVER$ full control
$acl = Get-Acl $path
foreach($id in @('TPS\Domain Admins','TPS\TPS-SERVER$','BUILTIN\Administrators','NT AUTHORITY\SYSTEM')){
try {
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($id,'FullControl','ContainerInherit,ObjectInherit','None','Allow')
$acl.AddAccessRule($rule)
} catch { Write-Host "acl skip $id : $_" }
}
Set-Acl -Path $path -AclObject $acl
"==== RESULT ===="
Get-SmbShare -Name TPSBackup | Format-List Name,Path,FullAccess | Out-String
"UNC: \\TPS-SVR\TPSBackup"
$v=Get-Volume -DriveLetter C
"Target free space GB: $([math]::Round($v.SizeRemaining/1GB,1))"
"==== DONE ===="