Powershell 删除计算机cmdlet访问被拒绝

Powershell 删除计算机cmdlet访问被拒绝,powershell,active-directory,Powershell,Active Directory,我正在尝试使用remove computer-unjoincredentials domain\admin-passthru创建脚本以从域中删除计算机,但是,我始终收到一个错误,指出 删除计算机:无法从域“domain.com”取消计算机“web140127105714”的连接,出现以下错误 消息:访问被拒绝。 第1行字符:1 +删除计算机-取消连接域凭据域\admin-PassThru + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我正在尝试使用
remove computer-unjoincredentials domain\admin-passthru
创建脚本以从域中删除计算机,但是,我始终收到一个错误,指出

删除计算机:无法从域“domain.com”取消计算机“web140127105714”的连接,出现以下错误
消息:访问被拒绝。
第1行字符:1
+删除计算机-取消连接域凭据域\admin-PassThru
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:OperationsStopped:(web140127105714:String)[删除计算机],InvalidOperationException
+FullyQualifiedErrorId:FailtOnJoinDomain,Microsoft.PowerShell.Commands.RemoveComputerCommand


我使用的帐户是具有完全访问权限的域管理员。我已确认该帐户可以手动从域名注销。

没有
-unjoincredentials


没有
-unjoincredentials


控制台上的某些操作要求您处于提升的PowerShell会话中。通过右键单击PowerShell会话并选择“以管理员身份运行”,您可以以管理员身份启动PowerShell会话。然后在该控制台会话中运行remove computer cmdlet。管理员PowerShell控制台的默认标题为“管理员:Windows PowerShell”。您可以通过这种方式识别窗口

控制台上的某些操作要求您处于提升的PowerShell会话中。通过右键单击PowerShell会话并选择“以管理员身份运行”,您可以以管理员身份启动PowerShell会话。然后在该控制台会话中运行remove computer cmdlet。管理员PowerShell控制台的默认标题为“管理员:Windows PowerShell”。您可以通过这种方式识别窗口

听起来像是OP找到了他的答案,因此下面是一个powershell自我提升示例,供未来读者参考。添加到脚本的顶部,它将重新启动,因此我们不必右键单击并“以管理员身份运行”

$WID=[System.Security.Principal.WindowsIdentity]::GetCurrent();
$WIP=new-object System.Security.Principal.WindowsPrincipal($WID);
$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator;
If ($WIP.IsInRole($adminRole)){
}else {
  $newProcess = new-object System.Diagnostics.ProcessStartInfo 'PowerShell';
  $newProcess.Arguments = $myInvocation.MyCommand.Definition
  $newProcess.Verb = 'runas'
  [System.Diagnostics.Process]::Start($newProcess);Write-Host 'Prompting for Elevation'
  exit
}
#####################
# Add Scripts Below #
#####################
Write-Host 'ElevatedCodeRunsHere';
Write-Host 'Press any key to continue...'
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

听起来OP找到了他的答案,所以这里有一个powershell自我提升的例子供未来读者参考。添加到脚本的顶部,它将重新启动,因此我们不必右键单击并“以管理员身份运行”

$WID=[System.Security.Principal.WindowsIdentity]::GetCurrent();
$WIP=new-object System.Security.Principal.WindowsPrincipal($WID);
$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator;
If ($WIP.IsInRole($adminRole)){
}else {
  $newProcess = new-object System.Diagnostics.ProcessStartInfo 'PowerShell';
  $newProcess.Arguments = $myInvocation.MyCommand.Definition
  $newProcess.Verb = 'runas'
  [System.Diagnostics.Process]::Start($newProcess);Write-Host 'Prompting for Elevation'
  exit
}
#####################
# Add Scripts Below #
#####################
Write-Host 'ElevatedCodeRunsHere';
Write-Host 'Press any key to continue...'
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

我认为添加-Force开关没有帮助,对吗?您是否能够使用域管理员帐户远程登录到计算机上?只是好奇,您是否使用提升的PowerShell控制台?也就是说,你是否右键单击并以管理员身份启动了它?哇,阿迪尔,我不敢相信我甚至还没有尝试过。。。它没有向我注册,这可能是因为我能够在非提升控制台中加入域。有没有一种方法可以在提升的权限下自动运行脚本?嗯,我更喜欢的方法是使用“计划任务”,您可以选择以“提升”的方式运行脚本。我认为添加-Force开关没有帮助,对吗?您是否能够使用域管理员帐户远程登录到计算机上?只是好奇,您是否使用提升的PowerShell控制台?也就是说,你是否右键单击并以管理员身份启动了它?哇,阿迪尔,我不敢相信我甚至还没有尝试过。。。它没有向我注册,这可能是因为我能够在非提升控制台中加入域。有没有一种方法可以在提升权限下自动运行脚本?嗯,我更喜欢的方法是使用“计划任务”,您可以选择以提升权限运行脚本。对不起,这是我的错别字。如错误所示,我使用了
-UnJoinDomainCredential
对不起,这是我的打字错误。如错误所示,我使用了
-UnJoinDomainCredential
,实际上我也在寻找它!谢谢你这么棒我也在找呢!感谢您以管理员身份运行PS远程处理?我使用C:\Windows\sysnative\WindowsPowerShell\v1.0\powershell.exe-ExecutionPolicy Bypass-File“\\server\temp\test.ps1”域\用户密码“C:\temp”如何作为管理员运行PS远程处理?我使用C:\Windows\sysnative\WindowsPowerShell\v1.0\powershell.exe-ExecutionPolicy Bypass-File“\\server\temp\test.ps1”域\user pass“C:\temp”