Running sysadminctl with do shell script

Simple AppleScript app to get the status of screen lock and change it.
Only do shell script "sysadminctl -screenLock status” works, the ones with sudo sysadminctl do not work at all.

set ScreenLockStatus to do shell script "sysadminctl -screenLock status 2>&1 | awk -F'] ' '{print $2}'"
set question to display dialog "The screen lock is set to: " & ScreenLockStatus & return & "Would you like to:" buttons {"Set to immediate", "Set to 5 minutes", "Cancel"} default button 1
set answer to button returned of question
if answer is equal to "Set to immediate" then
	do shell script "sudo sysadminctl -screenLock immediate -password 1234" user name "Admin" password "1234" with administrator privileges
end if
if answer is equal to "Set to 5 minutes" then
	do shell script "sudo sysadminctl -screenLock 300 -password 1234" user name "Admin" password "1234" with administrator privileges
end if
if answer is equal to "Cancel" then
	return
end if

It will obviously be saved as Run-only app from File > Export Save a script as an app in Script Editor on Mac - Apple Support

with administrator privileges is the same as using sudo.
SO one or the other
The advantage of with administrator privileges is you can use any username/password combo that is in the sudoers file.

Thank you for the suggestions, but none solve the problem:
Script Error sysadminctl[798:7159] ### MKBDeviceSetGracePeriod error -17

Thank you for pointing that out. You are correct, it works without sudo.

set ScreenLockStatus to do shell script "sysadminctl -screenLock status 2>&1 | awk -F'] ' '{print $2}'"
set question to display dialog "The screen lock is set to: " & ScreenLockStatus & return & "Would you like to:" buttons {"Set to immediate", "Set to 5 minutes", "Cancel"} default button 1
set answer to button returned of question
if answer is equal to "Set to immediate" then
	do shell script "/usr/sbin/sysadminctl -screenLock immediate -password 1234"
end if
if answer is equal to "Set to 5 minutes" then
	do shell script "/usr/sbin/sysadminctl -screenLock 300 -password 1234"
end if
if answer is equal to "Cancel" then
	return
end if

For anyone that might find it useful, a version with multiple choices:

set ScreenLockStatus to do shell script "sysadminctl -screenLock status 2>&1 | awk -F'] ' '{print $2}'"
set theLockChoices to {"Immediate", "1 minute", "5 minutes", "Off"}
set theLock to choose from list theLockChoices with prompt ScreenLockStatus & return & "Set to:" default items {"1 minute"}
if theLock = {"Immediate"} then
	do shell script "/usr/sbin/sysadminctl -screenLock immediate -password 1234"
end if
if theLock = {"1 minute"} then
	do shell script "/usr/sbin/sysadminctl -screenLock 60 -password 1234"
end if
if theLock = {"5 minutes"} then
	do shell script "/usr/sbin/sysadminctl -screenLock 300 -password 1234"
end if
if theLock = {"Off"} then
	do shell script "/usr/sbin/sysadminctl -screenLock off -password 1234"
end if