none
SCCM, Powershell. Получить коллекции с Direct Rule RRS feed

  • Вопрос

  • Привет, народ. Помогите пожалуйста, не силен в запросах. Есть классная функция (см. ниже), чтобы получить все коллекции в которые добавлен сервер. Но хотелось бы получать все коллекции в которые он добавлен с помощью правила Direct Rule. Спасибо за помощь.

    function Get-CMClientDeviceCollectionMembership {
        [CmdletBinding()]
        param (
            [string]$ComputerName = $env:COMPUTERNAME,
            [string]$SiteServer = (Get-WmiObject -Namespace root\ccm -ClassName SMS_Authority).CurrentManagementPoint,
            [string]$SiteCode = (Get-WmiObject -Namespace root\ccm -ClassName SMS_Authority).Name.Split(':')[1],
            [switch]$Summary,
            [System.Management.Automation.PSCredential]$Credential = [System.Management.Automation.PSCredential]::Empty
        )
    
    begin {}
    process {
        Write-Verbose -Message "Gathering collection membership of $ComputerName from Site Server $SiteServer using Site Code $SiteCode."
        $Collections = Get-WmiObject -ComputerName $SiteServer -Namespace root/SMS/site_$SiteCode -Credential $Credential -Query "SELECT SMS_Collection.* FROM SMS_FullCollectionMembership, SMS_Collection where name = '$ComputerName' and SMS_FullCollectionMembership.CollectionID = SMS_Collection.CollectionID"
        if ($Summary) {
            $Collections | Select-Object -Property Name,CollectionID
        }
        else {
            $Collections    
        }
        
    }
    end {}
    }


    11 августа 2019 г. 6:31

Ответы

Все ответы

  • 
    
    $collections = Get-CMClientDeviceCollectionMembership -Computername pc1
    $collcctions | fl *
    из всех полей находите то которое вам нужно, а далее дописываете where {$_.Propertie -eq "Value"} вместо fl *


    The opinion expressed by me is not an official position of Microsoft

    11 августа 2019 г. 6:57
    Модератор
  • 
    
    $collections = Get-CMClientDeviceCollectionMembership -Computername pc1
    $collcctions | fl *
    из всех полей находите то которое вам нужно, а далее дописываете where {$_.Propertie -eq "Value"} вместо fl *


    The opinion expressed by me is not an official position of Microsoft

    Нет, не все так просто. Я пробовал использовать запрос, возможно информация о directory rule содержится где то еще, потому как при получении свойств поле CollectionRules  пустое. Возможно есть какое то скрытое свойство... 

    11 августа 2019 г. 8:07
  • вы запрос делаете на хосте sccm?

    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Sel83 11 августа 2019 г. 9:28
    • Снята пометка об ответе Антон В АнтоновModerator 11 августа 2019 г. 10:42
    • Помечено в качестве ответа Vector BCOModerator 11 августа 2019 г. 11:28
    11 августа 2019 г. 8:35
    Модератор
  • Приветствую.

    Возможно проще будет написать запрос непосредственно в базу SCCM используя T-SQL либо WQL

    lСоздание запросов в System Center Configuration Manager


    Я не волшебник, я только учусь. MCTS, CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку "Отметить как ответ" или проголосовать за "полезное сообщение". Disclaimer: Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть, без каких-либо на то гарантий. Блог IT Инженера, Яндекс Дзен, YouTube, GitHub.


    11 августа 2019 г. 11:53
    Модератор