来自SCCM的本地用户的Powershell VSCode invoke-command

时间:2019-01-17 14:15:34

标签: powershell authentication sccm invoke-command

因为VSCode无法运行Powershell控制台并以其他用户身份对其进行调试,所以我试图使用这样的调用凭据来对其进行处理:

Start-Service -Name "WinRM"
$cred = Get-Credential -Credential domain\myuser
Invoke-command -Credential $cred -Computer "localhost" -scriptblock {

    Import-Module "$($ENV:SMS_ADMIN_UI_PATH)\..\ConfigurationManager.psd1"
    Set-Location 'XXX:' # my sccm site code
    Import-CMComputerInformation -CollectionName "All Systems" -ComputerName "TestComputer" -MacAddress "00:00:00:00:00:69"

}

如果我在VSCode(F5)的调试器中启动它,它将启动但无法连接到SCCM Server基础结构。有人可以帮我解决这个问题吗?

错误:

Cannot find drive. A drive with the name 'XXX' does not exist.
    + CategoryInfo          : ObjectNotFound: (XXX:String) [Set-Location], DriveNotFoundException
    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
    + PSComputerName        : localhost

This command cannot be run from the current drive. To run this command you must first connect to a Configuration Manager drive.
    + CategoryInfo          : DeviceError: (Microsoft.Confi...ormationCommand:ImportComputerInformationCommand) [Import-CMComputerInformation], InvalidOperationException
    + FullyQualifiedErrorId : CommandCannotExecuteFromCurrentDrive,Microsoft.ConfigurationManagement.Cmdlets.Oob.Commands.ImportComputerInformationCommand
    + PSComputerName        : localhost

如果我从计算机注销并使用我的管理员凭据登录,并在invoke-command脚本块中执行所有操作,则它将起作用。 因为我们公司政策不允许我这样工作,所以也许可以使用Visual Studio代码调试器吗?或者我可以做些其他事情?

1 个答案:

答案 0 :(得分:1)

您是否已使用所使用的凭据交互式登录到SCCM站点服务器并至少一次打开了控制台?我认为必须首先进行首次打开,然后才能远程访问驱动器...