Esta é uma questão de privilégios. Se você é um administrador em sua caixa local, eu posso ajudar.
Tente isto: Clique com o botão direito no ícone do Powershell e selecione Executar como administrador . Em seguida, tente executar seu script; vai funcionar.
No entanto, isso não responde como você pode fazer isso de dentro de um script. Você pode adicionar algum código ao seu script que tentará automaticamente elevar sua sessão de PS, mas você ainda terá que interagir com a caixa de diálogo de segurança que aparece sempre que você tentar e executar algo como um administrador que é o Vista ou posterior. Portanto, não tenho certeza de como isso é mais fácil do que apenas iniciar sua sessão como administrador, mas adicione isso ao início do seu script:
$WindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent()
$WindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($WindowsID)
$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
if ($WindowsPrincipal.IsInRole($adminRole))
{
$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)"
}
else
{
$newProcess = new-object System.Diagnostics.ProcessStartInfo "PowerShell";
$newProcess.Arguments = $myInvocation.MyCommand.Definition;
$newProcess.Verb = "runas";
[System.Diagnostics.Process]::Start($newProcess);
exit