Почему Set-WMIInstance работает только как локальный пользователь? - PullRequest
0 голосов
/ 30 марта 2019

При выполнении любой команды Set-WMIInstance powershell от имени пользователя домена я получаю эту ошибку.

CategoryInfo: InvalidOperation: (:) [Set-WmiInstance], COMException FullyQualifiedErrorId: SetWMICOMException, Microsoft.PowerShell.Commands.SetWmiInstance

Это интересно, потому что, когда я использовал эту команду около года назад, все работало отлично. Год назад я вытащил тот же исходный код из github, и теперь он не запускается.

У меня возникла проблема, связанная с тем, что Set-WMIInstance работает как локальный пользователь в экземпляре PowerShell с повышенными правами на многих компьютерах и не работает как пользователь домена, использующий экземпляр PowerShell с повышенными правами на многих компьютерах.

######Code that generates the error
$computer = $env:COMPUTERNAME
$filterNS = "root\cimv2"
$wmiNS = "root\subscription"
$query = "SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_LogicalDisk' AND TargetInstance.DriveType=2"
$filterName = "USB Whitelist Filter"
$consumerName = "USB Whitelist Consumer"
$scriptFileName = "C:\scripts\LaunchPowerShell.vbs"

# This is where the WMI filter is registered
$filterPath = Set-WmiInstance -Class __EventFilter `
 -ComputerName $computer -Namespace $wmiNS -Arguments `
  @{name=$filterName; EventNameSpace=$filterNS; QueryLanguage="WQL";
    Query=$query}




#####Error observed

writeErrorStream      : True
PSMessageDetails      : 
Exception             : System.Runtime.InteropServices.COMException (0x80042003)
                           at 
                        System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 
                        errorCode, IntPtr errorInfo)
                           at System.Management.ManagementObject.Put(PutOptions options)
                           at Microsoft.PowerShell.Commands.SetWmiInstance.ProcessRecord()
TargetObject          : 
CategoryInfo          : InvalidOperation: (:) [Set-WmiInstance], COMException
FullyQualifiedErrorId : SetWMICOMException,Microsoft.PowerShell.Commands.SetWmiInstance
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}

Я ожидал, что команда Set-WMIInstance будет работать как пользователь домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...