Hallo zusammen
Ich möchte die beiden Ausgaben (werde momentan in der PowerShell angezeigt) des untenstehenden PowerShell Scriptes in zwei CSV Dateien speichern.
Wie verwende ich den Befehl "Out-File" hier richtig?
Danke im Voraus für die Hilfe!
# to get Get-ADGroup etc...
# Add-WindowsFeature RSAT-AD-PowerShell
# Add-WindowsFeature RSAT-AD-PowerShell
$allGroups = Get-Content groups.csv
foreach ($sourceGroup in $allGroups)
{
$adGroupName = $sourceGroup -replace 'PROD\\', ''
try
{
$sourceADGroup = Get-ADGroup $adGroupName -ErrorAction SilentlyContinue
$destADGroup = Get-ADGroup -server axusr.net $adGroupName -ErrorAction SilentlyContinue
$sourceMembers = Get-ADGroupMember $sourceADGroup
$destMembers = Get-ADGroupMember -Server axusr.net $destADGroup
foreach ($sourceGroup in $allGroups)
{
$adGroupName = $sourceGroup -replace 'PROD\\', ''
try
{
$sourceADGroup = Get-ADGroup $adGroupName -ErrorAction SilentlyContinue
$destADGroup = Get-ADGroup -server axusr.net $adGroupName -ErrorAction SilentlyContinue
$sourceMembers = Get-ADGroupMember $sourceADGroup
$destMembers = Get-ADGroupMember -Server axusr.net $destADGroup
$missingInSource = $destMembers.samaccountname | ? { $sourceMembers.samaccountname -notcontains $_ }
$missingInDest = $sourceMembers.samaccountname | ? { $destMembers.samaccountname -notcontains $_ }
# exclude service accounts
$missingInDest = $missingInDest | ? { $_ -notmatch '^SVC[-_].*' }
$missingInDest = $sourceMembers.samaccountname | ? { $destMembers.samaccountname -notcontains $_ }
# exclude service accounts
$missingInDest = $missingInDest | ? { $_ -notmatch '^SVC[-_].*' }
# exclude d-accounts (bad check)
$missingInDest = $missingInDest | ? { $_ -notmatch '^SAPService.*' }
$missingInDest = $missingInDest | ? { $_ -notmatch '^SAPService.*' }
<#
# exclude dt-accounts
$missingInDest = $missingInDest | ? { $_ -notmatch '^DT.*' }
$missingInDest = $missingInDest | ? { $_ -notmatch '^DT.*' }
# exclude d-accounts (bad check)
$missingInDest = $missingInDest | ? { $_ -notmatch '^D.*' }
$missingInDest = $missingInDest | ? { $_ -notmatch '^D.*' }
#>
if ($missingInDest.Count -gt 0 -or $missingInSource.Count -gt 0)
{
"---------------------"
$adGroupName + ": " + $sourceMembers.Count + "/" + $destMembers.Count
if ($missingInDest.Count -gt 0)
{
"missing in dest:"
$missingInDest
}
if ($missingInSource.Count -gt 0)
{
"missing in source:"
$missingInSource
}
}
{
"---------------------"
$adGroupName + ": " + $sourceMembers.Count + "/" + $destMembers.Count
if ($missingInDest.Count -gt 0)
{
"missing in dest:"
$missingInDest
}
if ($missingInSource.Count -gt 0)
{
"missing in source:"
$missingInSource
}
}
}
catch { Write-Warning "ad group '$adGroupName' does not exist in AXUSR" }
catch { Write-Warning "ad group '$adGroupName' does not exist in AXUSR" }
}