Назад | Перейти на главную страницу

Как я могу составить список скрытых административных общих ресурсов с помощью PowerShell?

Я пытаюсь написать сценарий, который будет проверять общие папки на нескольких серверах, чувствительных к HIPAA. Я отлично получаю список акций, используя gwmi Win32_Share, однако, когда я собираюсь получить разрешения для каждого общего ресурса, используя gwmi Win32_LogicalShareSecuritySetting, скрытые административные общие ресурсы не отображаются.

Я понимаю, что по очевидным причинам это не похоже на изменение разрешений, но я хотел бы получить какое-то указание на то, что это на самом деле административный ресурс. В настоящее время я использую блок try-catch для обработки ошибки и вывода сообщения «разрешения не найдены».

Есть ли способ перечислить ТОЛЬКО скрытые административные общие ресурсы с помощью PowerShell?

Попробуйте (замените "." На имя удаленного компьютера):

[String]                                   $Local:strComputerName  = ".";
[System.Management.ManagementBaseObject[]] $Local:arrShares        = @();
[System.Management.ManagementBaseObject]   $Local:objShare         = $null;

$arrShares = Get-WMIObject -class "Win32_Share" -namespace "root\CIMV2" -computername $strComputerName -ErrorAction SilentlyContinue | Where-Object { $_.Type -eq 2147483648 };
if ( $? ) {
    foreach ( $objShare in $arrShares ) {
        # List attributes (other attributes include AccessMask, AllowMaximum, Description,
        # InstallDate, MaximumAllowed, Status and Type).
        Write-Host -Object ( "Name        : {0}" -f $objShare.Name );
        Write-Host -Object ( "Path        : {0}" -f $objShare.Path );
        Write-Host -Object ( "Caption     : {0}" -f $objShare.Caption );
        Write-Host -Object "";
        } #foreach
} else {
    Write-Host -Object "ERROR.";
} #else-if