Pernyataan if ini tidak cocok dengan apa pun karena alasan tertentu meskipun output di CSV memiliki data $MemberName di dalam sel.
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"
}
Apakah ada cara yang lebih efisien untuk menulis pernyataan if? Saya hanya ingin menambahkan baris JIKA $MemberDomain dan $MemberName TIDAK COCOK dengan kumpulan kriteria berikut:
$MemberDomain $MemberName
LocalUser AND Administrator
DomainGroup AND Workstation Admin
DomainGroup AND Domain Admins
Sesuatu seperti:
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 }
Inilah yang berhasil, tetapi menurut saya ada cara yang lebih efisien untuk menguji kedua nilai tersebut secara bersamaan.
$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"
}
Masalah yang ingin saya cocokkan keduanya secara bersamaan. Misalnya kombinasi "DomainGroup dan Administrator" akan bernilai true dengan kode di atas dan akan bernilai false jika hanya LocalUser dan Administrator yang bernilai true.