powershellsccm

System Center Configuration Manager - PowerShell Remoting


I have a primary SCCM server - "ABC"

Later I installed SCCM console and PowerShell Module on one more machine - "XYZ"

I am running below script from server - "OPQ" and trying to remote "XYZ" (on which i installed SCCM Console Recently)

Script ::

$Session = New-PSSession -ComputerName "XYZ" -Authentication Kerberos -Credential $Cred -ConfigurationName Microsoft.PowerShell32

Invoke-Command -Session $Session -ScriptBlock {
Import-module "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1"

    Set-Location PS1:\
}

ERROR ::

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) + CategoryInfo : OpenError: (PS1:PSDriveInfo) [Import-Module], UnauthorizedAccessException + FullyQualifiedErrorId : Drive,Microsoft.PowerShell.Commands.ImportModuleCommand + PSComputerName : XYZ

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


Solution

  • I was able to resolve this issue by saving the credentials on the XYZ server and then calling them under my INvoke-Command.

    Like This  : 
    

    $Session = New-PSSession -ComputerName "XYZ" Invoke-Command -Session $Session -ScriptBlock { $password = Get-Content -Path D:\Creds\creds.txt | ConvertTo-SecureString $Cred = New-Object System.Management.Automation.PSCredential ("domain\UserId", $password) Then the rest of the code. ... .. . . . }