Этот оператор if ничем не подходит по какой-либо причине, хотя вывод в CSV имеет данные $ MemberName в ячейке.Лучше всего создать несколько непонятно, если оператор
if($MemberName -notlike "Administrator" -or $MemberName -notlike "Domain Admins" -or $MemberName -notlike "Workstation Admin"){
Add-Content -Path $OutPutFile -Value "$Computer, $LocalGroupName, SUCCESS, $MemberType, $MemberDomain, $MemberName"
}
Также есть более эффективный способ написать инструкцию if? Я только хочу, чтобы добавить строку ЕСЛИ $ MemberDomain и $ MemberName НЕ СООТВЕТСТВУЕТ следующие наборы критериев:
$MemberDomain $MemberName
LocalUser AND Administrator
DomainGroup AND Workstation Admin
DomainGroup AND Domain Admins
Somethinng как:
if(($MemberName -notlike "Administrator" -and $MemberDomain -notlike "LocalUser") -or ($MemberName -notlike "Domain Admins" -and $MemberDomain -notlike "DomainGroup") -or ($MemberName -notlike "Workstation Admin" -and $MemberDomain -notlike "DomainGroup")) { do something }
Это то, что работает, но я думаю, что есть более эффективный способ тестирования для двух значений вместе.
$ExcludedNames = ("Administrator","Workstation Admin","Domain Admins")
$ExcludedMemberTypes = ("LocalUser","DomainGroup")
if(($ExcludedNames -contains $MemberName) -and ($ExcludedMemberTypes -contains $MemberType)){
} else {
Add-Content -Path $OutPutFile -Value "$Computer, $LocalGroupName, SUCCESS, $MemberType, $MemberDomain, $MemberName"
}
Вопросы, которые я хочу сопоставить друг с другом вместе. Например, комбинация «DomainGroup и Administrator» будет верна с приведенным выше кодом, и она должна быть ложной, если только LocalUser и Administrator должны быть истинными.
Интересно. Никогда не думал о переключении. Я должен буду прочитать об этом. –