Jump to content

Community durchsuchen

Zeige Ergebnisse für die Tags "'PowerShell'".

  • Suche mithilfe von Tags

    Trenne mehrere Tags mit Kommata voneinander
  • Suche Inhalte eines Autors

Inhaltstyp


Forum

  • Windows Server Forum & IT Pro Forum
    • Windows Forum — Clients
    • Windows Forum — Server & Backoffice
    • Windows Forum — LAN & WAN
    • Windows Forum — Scripting
    • Windows Forum — Security
    • Tipps & Links
  • MCSE Forum & Cisco Forum
    • Microsoft Zertifizierungen
    • Cisco Forum — Allgemein
    • Testsoftware & Bücher
    • Off Topic

Blogs

  • MCSEboard.de Blog

58 Ergebnisse gefunden

  1. Powershell und Zahlen

    Hallo, ich hab mal eine Frage zum Formatieren von Zahlen mit PowerShell, über Google & Co bin ich aktuell nicht direkt fündig geworden. Das Problem: Ich möchte aus Excel verschiedene Werte in eine Variable übergeben. Klappt soweit, aber bei Zahlen kommt ein Problem auf. Die Darstellung von Zahlen wie 12.100 / 6.100 oder 771 führt zu Fehlern, wenn ich die Variable dann später bearbeiten möchten, z. Bsp über eine IF-Schleife. Beispiel: #Variable ermitteln $LAENGE = $Table.cells.item($Zeile,15).Text #Prüfung der Variable auf bestimmte Werte if ($LAENGE -lt 15100){echo "1"} elseif ($LAENGE -gt 16100) {echo "2"} else {echo "3"} Ausgabe: 12.140 = 1 6.000 = 2 771 = 2 Ich gehe davon aus, dass die Powershell die Formatierung aus der XLSX-Datei falsch interpretiert, vermutlich als us-US oder en-EN. Kann ich bereits bei Erstellung der Variable der PowerShell mitteilen welches Format eigentlich wirklich dahingehört, also in dem Fall Zahlen als de-DE formatieren um darauf später normal zu zugreifen, oder muss ich dann mit einem Zwischenschritt arbeiten? Okay, hab den "Fehler" gefunden. Mußte nur die Variable beim deklarieren mit dem Hinweis value2 und nicht text markieren. Manchmal sieht man den Wald vor lauter Bäumen nicht
  2. Hallo zusammen, ich versuche jetzt seit längerem eine für mich sehr komplexe Aufgabe zu lösen: Es geht darum, dass in unsere AD externe Mitarbeiter angelegt werden, um bspw. Zugriff auf Sharepoint berechtigen zu können. Ich möchte nun all diese externen Mitarbeiter aus bestimmten OUs (OU=EMEA und OU=APAC) auslesen. Damit ist es aber nicht getan. Die externen Mitarbeiter haben einen internen Ansprechpartner im Manager-Feld hinterlegt. Von diesem hinterlegten Manager soll das extensionattribute11 ausgelesen und wiederum beim externen gepflegt werden. Um das ganze zu testen habe ich einen Script gebaut, welcher sich auf eine TestOU bezieht. Ich hänge nun aber wenn es darum geht eine Schleife für mehrere OUs zu schreiben. Damit ein bisschen deutlicher wird wovon ich rede, hänge ich nun den bereits funktionierenden Script an: $x = Get-ADUser -SearchBase "OU=Test User,OU=Users,OU=TUT,OU=EMEA,DC=Domain,DC=Domain" -filter * -Properties samaccountname, manager| select samaccountname, manager | where manager -NotLike "" foreach($y in $x){ $z=Get-ADUser -Identity $y.manager -Properties extensionattribute11 | Select extensionattribute11 Set-ADUser -Identity $y.samaccountname -Replace @{extensionattribute11=$z.extensionattribute11} } Jetzt soll - wie gesagt - dieser Script nicht auf der Test OU laufen sondern auf die OU EMEA und alle UnterOUs und auf die OU APAC und alle unter OUs. Bestenfalls noch mit einem Filter auf den samAccountName welcher bei externen immer auf ".ext" endet Bitte um Hilfe, bin langsam wirklich verzweifelt
  3. Guten Tag =) ich versuche das erste mal eine Batch Datei zu schrieben die es mir ermöglicht regelmäßig an einem Bestimmten Tag in der Woche (Montag) ein Log Programm zu schließen und Dateien zu verschrieben. Die Tagesabfrage, das Schließen sowie das verschieben der Dateien funktioniert wunderbar nur nicht die IF Funktion. Auch wenn nicht der Montag ist wird das gewünschte Programm geschlossen und die Dateien verschoben. Ich komme mit ausprobieren nicht mehr weiter und hoffe das Ihr mir sagen könnt, was ich falsch gemacht habe. Hier sind die Befehle @echo off :false echo falsch REM Ermittlung des Tages for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC path Win32_LocalTime Get DayOfWeek /Format:csv') do set daynumber=%%A echo %daynumber% if "%daynumber%"=="1" goto true if "%daynumber%"=="2" goto false if "%daynumber%"=="3" goto false if "%daynumber%"=="4" goto false if "%daynumber%"=="5" goto false if "%daynumber%"=="6" goto false if "%daynumber%"=="7" goto false :true echo richtig REM Programm schließen TASKKILL /IM weather.exe /F /T REM Verschiebt Dateien mit der endung .xlsx move C:*.xlsx D:\hierhinverschieben REM Programm starten start "" "C:\Program Files (x86)\tools\weather.exe" pause >nul Ich möchte mich schonmal für eure Hilfe bedanken =)
  4. Hallo liebe Community, Ich brauche wiedermal eure Hilfe. Beim schreiben von ä´s in ein Excelfile mit Powershell, wird das ä als zwei Zeichen erkannt (ä) $objexcel = New-Object -ComObject Excel.Application $filepath = "$systemfilepath\asdf.xlsx" $workbook = $objexcel.WorkBooks.Open($filepath) $worksheet = $workbook.WorkSheets.item(1) $worksheet.Cells.Item(1,1)= "ä" $objexcel.Visible = $false $objexcel.DisplayAlerts = $false $worksheet.SaveAs($filepath) $objexcel.Quit() asdf.xlsx ist einfach nur ein leeres xslx dokument hat jemand eine Idee, an welcher Stelle das Encoding falsch läuft? Das ganze tat mal, dann hab ich versucht das Problem eines Kollegen nachzuvollziehen, dabei das Output-encoding in meiner Powershell geändert, jetzt gehts halt net mehr edit: Das ganze muss als Excel gemacht werden, das das eigentliche script produktiv als Task eingerichtet werden soll, ein umwandeln von CSVs in Excel ist nicht möglich
  5. Liebe Community, in unserer Exch Organisation sind mehrere Firmen, wovon nur noch eine aktiv Öffentliche Ordner nutzt. Bei vielen Benutzern der Firmen, die keine Öffentlichen Ordner nutzen, werden im Outlook noch immer zu jedem Postfach der Strang "Öffentliche Ordner - Mailadresse.com" und darunter zwei sichtbare Einträge "Alle Öffentlichen Ordner" und "Favoriten" angezeigt. Auch im Verbindungsstatus ist erkennbar, dass eine Verbindung mit dem Server, auf dem das Root Postfach/Primäre Hirarchie der Öffentlichen Ordner liegt, hergestellt wird. Auffällig ist, dass diese Anzeige aber nicht bei allen Benutzern/Postfächern/Outlooks auftritt. Kann jemand weiterhelfen? Beste Grüße, Norman
  6. Schönen guten Tag, ich soll gerade in meiner Firma eine Batch Datei erstellen, die für unseren Work Flow Manager den Quell- und Zielordner (Quelle auf lokalem PC/Ziel auf Virtueller Maschine) von allen aktuellen Dateien bereinigt und so eine "saubere" Testumgebung für neue Tests gewährleistet. Danach sollen aus einem separaten Ordner die neue, benötigten Testdateien per robocopy kopiert und in die "Quelle" auf dem lokalen PC kopiert werden. Dabei bekomme ich die folgende Fehler Meldung Ich habe keine Ahnung wie ich das ändern kann. Wer kann mir da aus der Patsche helfen ? Jetzt schon vielen Dank Nicolas
  7. Schönen guten Tag liebe Community, in meiner Firma wird im Moment eine Geräte Inventur gemacht. Dazu benötigen wir auch die Seriennummern der einzelnen Geräte. Ein/e Mitarbeiter/in hat leider die Originalverpackung ihres Headsets vor der Inventur weggeworfen und die müssen wir jetzt auf eine andere Art und Weise ermitteln als nur von der Verpackung abzulesen... Ich habe schon den Geräte Manager durchforstet, ebenso die Regedit und mir das Windows SDK Tool USB Device Viewer gedownloadet, aber da wird leider in der Zeile Seriennummer nur 0x00 angezeigt. In Punkto Scripts, für WMI oder Powershell, schreiben habe ich bisher keinen blassen Schimmer wie man das macht. Daher meine Frage an euch, hat jemand eine Ahnung wie man das noch machen kann, vllt mit einem schon ein Vorgeschriebenes Script weil er/sie das auch schon mal machen musste ?! Jetzt schon vielen Dank
  8. Hallo Gemeinde, Ich habe mal ne dumme Frage, obwohl es die ja eigentlich gar nicht gibt... Wenn ich eine Powershell Abfrage mache, erscheint das richtige Ergebnis. Leider in geschwungenen Klammern. Wie kann ich die Klammern im Ergebnis entfernen? Gruß Frank
  9. Variablen in CSV exportieren

    Hallo zusammen, ich habe für unsere Server einen kleinen WSUS Report geschrieben der pro Server folgenden Infos abfragt: Servername Funktion Letzte Update Installation - Datum Letzte Update Installation - Uhrzeit Neustart nötig Ausstehende Updates Betriebssystem Laufzeit Startdatum Startzeit Abfragezeit Die Infos werden jeweils in eine eigene Variable gespeiochert und am Ende der Schleife per Out-File in eine *.csv geschrieben. Jetzt würde ich gern den ganzen Report direkt in eine formatierte CSV-Datei schreiben, so dass man die Datei direkt in Excel und große Formatierung (Text in Saplten) lesen kann. Wie genau bekomme ich das hin? Vielen Dank schon einmal
  10. Hallo zusammen, mein Problem ist wie folgt: Ich schreibe ein script, das über ein DFS läuft und mit Get-NTFSAccess die Gruppen ausließt. verglichen wird das ganze mit den Gruppen die ich aus der AD mit Get-ADGroup auslese. Von den aus dem DFS ausgelesenen Gruppen nehme ich den Namen (.Account), Trimme das Domänekürzel und vergleiche dasmit denen aus der AD wie folgt: Get-ADGroup -Filter * -Properties * -ResultSetSize $null |sort SamAccountName| ForEach-Object { if ($gefundeneGruppenArray -contains $_.SamAccountName) { $usedGroupsCsv += $_ }else{ $unusedGroupsCsv += $_ } } dabei werden aber nicht Alle Gruppen die Existieren erkannt
  11. Grüezi mitenand Nach einer erfolgreichen Migration von Exchange2007 auf 2013 habe ich noch ein "kleineres" Problem Wir hatten auf dem alten Exchange Server noch ein PowershellScript, das jeden Abend sämtliche Mails der Benutzer in eine BackupMailbox exportierte. (Zusätzliche Datenbank) Das hat mit folgenden Skript under Exchange 2007 sauber geklappt: (Ausschnitt aus Skript) --------------------------------------------------------------------------------------------------------------------------- # Mails kopieren Get-User | where { $_.Identity -like "ab-cd.local/FT/Users/*" } | ` where { $_.RecipientType -like "UserMailbox" } | ` export-Mailbox -TargetFolder "Archiv" -TargetMailbox backup -AllowMerge ` -ExcludeFolders $exclude -BadItemLimit 1 -ReportFile $xml_log -Confirm:$false -MaxThreads 8 2>> $errorlog; --------------------------------------------------------------------------------------------------------------------------- Das Problem: Unter Exchange2013 gibt es diverse Powershellbefehle und auch Parameter nicht mehr, wie z. B "export-Mailbox". Nach einigem recherchieren, bin ich dann auf den Befehl "New-MailboxExportRequest" gestossen. Mit diesem Befehl kann man jedoch nur in ein PST exportieren und muss auch noch den Pfad angeben. Gibt es allenfalls eine andere Variante für mein Vorhaben? Oder hat jemand eine Idee diese Problem zu lösen? Vielen Dank im voraus für eure Unterstützung Liebe Grüsse aus der Schweiz Meney
  12. Hi Leute, ich erläutere euch mal mein Problem. Ich suchte nach einem Powershell Script was ich wiederum als LogonScript auf meinem WindowsServer 2016 einbinden wollte. Das heisst wenn sich Jemand mit egal welchem User anmeldet ob am Server oder an einem der beiden Clients die auch in der Domäne sind das sie Automatisch ein eigenes Homeverzeichnis bekommen. Das Script sieht wie folgt aus: param([Parameter(Mandatory=$true)][String]$samAccountName) $fullPath = „\\DC01\HomeDir2\{0}“ -f $samAccountName $driveLetter = „H:“ $User = Get-ADUser -Identity $samAccountName if($User -ne $Null) { Set-ADUser $User -HomeDrive $driveLetter -HomeDirectory $fullPath -ea Stop $homeShare = New-Item -path $fullPath -ItemType Directory -force -ea Stop $acl = Get-Acl $homeShare $FileSystemRights = [System.Security.AccessControl.FileSystemRights]“Modify“ $AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]“ContainerInherit, ObjectInherit“ $PropagationFlags = [System.Security.AccessControl.PropagationFlags]“InheritOnly“ $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType) $acl.AddAccessRule($AccessRule) Set-Acl -Path $homeShare -AclObject $acl -ea Stop Write-Host („HomeDirectory created at {0}“ -f $fullPath) } Wenn ich es mit der Powershell öffne also er es ausführt kommt direkt eine Fehlermeldung die sieht man nicht weil sich die PS Console direkt schließt, deswegen habe ich das Script mal per STRG+V in eine geöffnete Console eingefügt Da läuft es dann zwar er legt das Verzeichnis also Das Homeverzeichnis auch an aber er fragt den SAMACCOUNTNAME ab also den muss ich dann Manuell in die Console eingeben. genau deswegen funktioniert das als Logon Script nicht. Die Frage ist wie mache ich das das er einfach den eingeloggten User erkennt und für den dann das Homeverzeichnis anlegt? PS: Ich weiss ich weiss ich kann das auch Manuell alles anlegen aber das will ich nicht und das ist auch nicht meine Aufgabe es muss so gehen. thx:)
  13. Hi Leute, ich erläutere euch mal mein Problem. Ich suchte nach einem Powershell Script was ich wiederum als LogonScript auf meinem WindowsServer 2016 einbinden wollte. Das heisst wenn sich Jemand mit egal welchem User anmeldet ob am Server oder an einem der beiden Clients die auch in der Domäne sind das sie Automatisch ein eigenes Homeverzeichnis bekommen. Das Script sieht wie folgt aus: param([Parameter(Mandatory=$true)][String]$samAccountName) $fullPath = „\\DC01\HomeDir2\{0}“ -f $samAccountName $driveLetter = „H:“ $User = Get-ADUser -Identity $samAccountName if($User -ne $Null) { Set-ADUser $User -HomeDrive $driveLetter -HomeDirectory $fullPath -ea Stop $homeShare = New-Item -path $fullPath -ItemType Directory -force -ea Stop $acl = Get-Acl $homeShare $FileSystemRights = [System.Security.AccessControl.FileSystemRights]“Modify“ $AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]“ContainerInherit, ObjectInherit“ $PropagationFlags = [System.Security.AccessControl.PropagationFlags]“InheritOnly“ $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType) $acl.AddAccessRule($AccessRule) Set-Acl -Path $homeShare -AclObject $acl -ea Stop Write-Host („HomeDirectory created at {0}“ -f $fullPath) } Wenn ich es mit der Powershell öffne also er es ausführt kommt direkt eine Fehlermeldung die sieht man nicht weil sich die PS Console direkt schließt, deswegen habe ich das Script mal per STRG+V in eine geöffnete Console eingefügt Da läuft es dann zwar er legt das Verzeichnis also Das Homeverzeichnis auch an aber er fragt den SAMACCOUNTNAME ab also den muss ich dann Manuell in die Console eingeben. genau deswegen funktioniert das als Logon Script nicht. Die Frage ist wie mache ich das das er einfach den eingeloggten User erkennt und für den dann das Homeverzeichnis anlegt? PS: Ich weiss ich weiss ich kann das auch Manuell alles anlegen aber das will ich nicht und das ist auch nicht meine Aufgabe es muss so gehen. thx:)
  14. Hallo Zusammen, vielleicht kann mir einer von euch helfen, habe schon einiges zu dem Thema gefunden aber halt fast nur für C#. Ich möchte eine Liste von veröffentlichen Desktops pro Server gruppieren mit Datagridview. Mein aktueller Workaround schreibt pro Desktop und Desktop eine Zeile. Schöner ist es wenn pro Server Gruppiert wird und in der Zweiten Spalte die Desktops angezeigt werden. Hat jemand so etwas in PS schon gemacht, falls ja wie? Danke im voraus.
  15. Hallo zusammen, ich brauche eine Auflistung aller Shared Mailboxes mit bzw. ohne Manager. Folgende Scripts haben nicht den gewünschten Erfolg gebracht: Get-Recipient -Resultsize unlimited | where {$_.RecipientTypeDetails -eq "SharedMailbox"} | ft Name,Manager >C:\temp\shared.csv = CSV mit 0 KB Get-Mailbox -ResultSize Unlimited | Where-Object { $_.RecipientTypeDetails -eq "SharedMailbox" } | fl Name,Manager = keine Ausgabe Hat jemand noch eine Idee?
  16. Hallo Zusammen, Ich würde gerne einen Script schreiben der 2 Dateien nach dem Änderungsdatum vergleicht. Sollte das Änderungsdatum von Datei0 aktueller als das von Datei1 sein würde ich gerne Datei1 durch Datei0 ersetzen. Das Problem was ich habe ist das Datei0 einen anderen Namen als Datei1 hat, somit müsste ich diesen in der "Zwischenablage" umbenennen und anschließend an den anderen Pfad schieben. (im Ordner Test ist bereits eine Test.txt weshalb ich den Namen dort nicht ändern kann) Wie realisiere ich das am besten ? Bis jetzt kann ich nur das Änderungsdatum vergleichen: $Datei0 = Get-ChildItem -Path "\\test123.de\DFS\Austausch\Test\Test_Neu.txt" $Datei1 = Get-ChildItem -Path "\\mucts10\c$\Program Files (x86)\Test\Test.txt" if ([System.IO.File]::GetLastWriteTime($Datei0) -gt [System.IO.File]::GetLastWriteTime($Datei1)) { Write-Output "Datei ersetzen." } ELSE { Write-Output "Datei nicht ersetzen" } Vielen Dank für eure Hilfe ! MaximilianTM
  17. Hallo zusammen, ich bin gerade dabei mich etwas in Powershell einzuarbeiten, habe zwar mit Batch etwas Erfahrung aber die müsste ich auch erst wieder auffrischen und warum nicht gleich für Powershell. Als erstes will ich euch kurz Erklären was ich mit Powershell realisieren möchte. Wir haben viele Fillialen (Märkte) im Einsatz und wollen für alle Märkte die Kassensysteme neu installieren. Das Skript soll also beim Ausführen eine kleine GUI bereitstellen wo ich eine bestimmte Marktnummer eingebe und das Skript mir dann die richtigen Daten zu genau dieser Marktnummer aus einer CSV-Datei ausliest und als Einstellungen im Windows (10) setzt. Die CSV-Datei wird voraussichtlich so aufgebaut sein: Markt-Nr. ; Computername ; Domäne ; IP-Adresse ; Subnetzmaske : Gateway ; DNS ; DNS2 ; DNS3 ; DNS-Suffix Ich gehe davon aus dass dieses Skript etwas Zeit beim Erstellen in Anspruch nimmt, daher bin ich für jeden Hinweis und Tipp sehr Dankbar Vielen Dank schonmal im voraus und liebe Grüße Niklas
  18. Hallo zusammen, ich habe folgendes Script: #Definitions $date = Get-Date -format "dd.MM.yyyy" $time = Get-Date -format "HH:mm" $timestamp = Get-Date -format "dd.MM.yyyy-HHmmss" ################################################################################## # SETTINGS ################################################################################## #$SmtpServer = The SMTP-server who's responsible for sending the mail #$smtpFrom = The displayed sender of the mail #$smtpTo = The recipient of the message #$messagesubject = The subject of the message #$FilePathName = Path and name of the exportfile #$DeleteExportOnServer = Keep exportfile after sending on the server (1 = Keep exportfile/everything else = delete exportfile ################################################################################## $SmtpServer = 'XX.X.X.XX' $smtpFrom = 'xxxxx@xxxxxxxxxx' $smtpTo = 'xxxxxxxx@xxxxxxxxx' $messagesubject = 'Datenbankstand vom ' + $date + ' um ' + $time + ' Uhr' $FilePathName = "C:\Temp\export\export-" + $timestamp + '.csv' $DeleteExportOnServer = "0" ################################################################################## Set-ADServerSettings -ViewEntireForest $true $message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto $message.Subject = $messageSubject $message.IsBodyHTML = $true $result = Get-Mailbox -ResultSize unlimited |Select-Object DisplayName,PrimarySmtpAddress,DistinguishedName,Database,ExchangeGuid if (Test-Path $FilePathName) {Remove-Item $FilePathName} Get-Mailbox -ResultSize unlimited |Select-Object DisplayName,PrimarySmtpAddress,DistinguishedName,Database,ExchangeGuid |Export-Csv -Path $FilePathName $attachment = new-object Net.Mail.Attachment($FilePathName) ################################################################################## # HTMLMessage ################################################################################## $MailBody = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' $MailBody += '<html xmlns="http://www.w3.org/1999/xhtml">' $MailBody += '<head>' $MailBody += '<meta http-equiv="content-type" content="text/html:harset=iso-8859-1">' $MailBody += '<title></title>' $MailBody += '</head>' $MailBody += '<body>' $MailBody += '<b>Datenbankstand vom ' + $date + ' um ' + $time + ' Uhr:</b>' $MailBody += '<table border="1">' $MailBody += ' <tr>' $MailBody += ' <th>DisplayName</th>' $MailBody += ' <th>PrimarySmtpAddress</th>' $MailBody += ' <th>DistinguishedName</th>' $MailBody += ' <th>Database</th>' $MailBody += ' <th>ExchangeGuid</th>' $MailBody += ' </tr>' foreach ($i in $result) { $MailBody += ' <tr>' $MailBody += ' <td>' + $i.DisplayName + '</td>' $MailBody += ' <td>' + $i.PrimarySmtpAddress + '</td>' $MailBody += ' <td>' + $i.DistinguishedName + '</td>' $MailBody += ' <td>' + $i.Database + '</td>' $MailBody += ' <td>' + $i.ExchangeGuid + '</td>' $MailBody += ' </tr>' } $MailBody += '</table>' $MailBody += '</body>' $message.Body = $MailBody ################################################################################## $message.Attachments.Add($attachment) $smtp = New-Object Net.Mail.SmtpClient($smtpServer) $smtp.Send($message) $message.Dispose() $attachment.Dispose() if ((Test-Path ($FilePathName)) -and !($DeleteExportOnServer -eq "1")) {Remove-Item $FilePathName} Leider kommt diese Fehlermeldung: Exception calling "Send" with "1" argument(s): "The operation has timed out." At C:\Scripts\Mailbox-Database-Mail\MailboxDatabase.ps1:74 char:1 + $smtp.Send($message) + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SmtpException Weiß jemand was der Fehler ist? $smtp.Send($message) angelich...
  19. Hallo zusammen, ich führe ganz normal folgenden Befehl aus: New-MoveRequest -Identity <Emailadresse> -TargetDatabase <Datenbank> -Priority Highest -BadItemLimit 0 -SuspendWhenReadyToComplete Das hat bis jetzt immer funktioniert. Bei den jetzigen User läuft der Vorgang jedoch nicht los... Die User bleiben bei 0% stehen und der Fehler disk latency time wird ausgegeben. Auch der Versuch jeden User einzeln zu migrieren bleibt stehen. Ich werde aus diesem Fehler leider nicht schlau. Nach einigen erneuten Versuchen hoffe ich, dass mir jemand einen Tipp geben kann.
  20. Servus, ich steh irgenwie auf dem Schlauch, ich möchte die im nachfolgenden generierten Variablen aufrufen mit einem Platzhalten ähnlich wie sie auch angelegt werden. #Variablen anlegen $i= 1 $Computers = Get-Content -Path "c:\tmp\Test.txt" foreach($Computer in $Computers ){ New-Variable -Name "PC_number_$i" $i ++ } #Variablen ansteuern ohne diese manuell aufzurufen $i = 1 $PC_number_$i #geht nicht "$PC_number"_+"$i" #geht nicht $PC_number_+"$i" #geht nicht Habt ihr hier eine Lösung für mich?
  21. InputBox

    Hallo zusammen, komme gerade nicht weiter. Möchte gerne per PS einem User Kontakte importieren. Soweit klappt das auch, aber wie kann ich eine InputBox in das Script schreiben, damit ich nicht immer in das PS Script rein muss und dort den User unter Identity schreiben muss. Anbei mal den Befehl: "Import-ContactList -CSV -CSVData ([System.IO.File]::ReadAllBytes("D:\tmp\User_liste.csv")) -Identity "....Username....." Hoffe ich habe mich verständlich ausgedrückt was ich gerne möchte:) Gruß
  22. Hallo zusammen, ich synchronisiere bei mir Täglich meine Daten von einem NAS auf ein anderes mit Robocpy. Jetzt würde ich in der Ergebnismail gern die kopierten Daten ausgeben. Im log sieht es ja bekanntlich so aus: Insgesamt KopiertšbersprungenKeine šbereinstimmung FEHLER Extras Verzeich.: 1811 0 0 0 0 0 Dateien: 20429 0 20429 0 0 0 Bytes: 5.944 t 0 5.944 t 0 0 0 Zeiten: 0:02:22 0:00:00 0:00:00 0:02:22 Ich hab jetzt versucht, die kopierten Bytes auszuschneiden. Leider ohne Erfolg. Aktuell bekomme ich zumindest die Zeile ausgeschnitten, die ich weiterarbeiten möchte: Bytes: 5.944 t 0 5.944 t 0 0 0 Wie kann ich jetzt die kopierten Bytes, in diesem Fall 0 rasufiltern? Danke schon einmal
  23. Hallo Kollegen, wir möchten gerne in Zukunft die AD-Daten via CSV-Datei synchronisieren. Ich habe ein kleines Skript geschrieben und kann Daten abgleichen. Leider werden alle Felder in der CSV nicht immer gefüllt sein und somit geht Set-ADUser nicht mehr. Weiß jemand Rat? DaFlo
  24. Moin, per lokaler Gruppenrichtlinie habe ich die Ausführung eines Powershell Logonscripts (Benutzerkonfiguration) konfiguriert. In diesem Logonscript ist folgende Funktion enthalten, die ein Netzlaufwerk mappen soll. ##### Netzlaufwerk verbinden ##### function lw_mapping($freigabe){ Start-Process -FilePath cmd -Wait -ArgumentList "/c net use Z: $freigabe" } lw_mapping "\\servera.ad.local.net\p1" Auf dem Client existiert ein lokales Benutzerkonto, welches per Autologin nach Reboot direkt angemeldet wird. In der Anmeldeinformationsverwaltung wurden für die Serveradresse "servera.ad.local.net" Zugangsdaten hinterlegt, die Zugriff auf die genannte Freigabe haben. Das Problem stellt sich jetzt so dar, dass nach einem Reboot das Logonscript ausgeführt wird, aber das Laufwerk nicht gemappt wird. Stattdessen erscheint ein CMD-Fenster mit der Bitte einen Benutzernamen für den Zugriff auf die Freigabe einzugeben. Dieses Verhalten kenne ich grundsätzlich, wenn die hinterlegten Zugangsdaten in der Anmeldeinformationsverwaltung nicht korrekt sind. Daher habe ich diese als erstes Überprüft und konnte auch einen Fehler feststellen. Leider ist das Verhalten nach der Korrektur der Zugangsdaten weiterhin vorhanden. Um wirklich sicherzustellen, dass die Zugangsdaten korrekt sind, bin ich manuell auf die Freigabe gegangen und habe auf dem Server überprüft, dass die Anmeldung auch wirklich mit dem hinterlegten Konto erfolgt ist. Zunächst habe ich ein eventuelles Timingproblem mit der Netzwerkkonnektivität vermutet. Daher habe ich in den lokalen Richtlinien eine Skript-Verzögerung von 120Sek konfiguriert. Leider ohne Erfolg. Dann habe ich das Logonscript aus den lokalen Richtlinien entfernt, einen Reboot durchgeführt und das Logonscript manuell ausgeführt. Dies hatte dann Erfolg. Für einen weiteren Test und als aktuellen Workaround habe ich die Ausführung des Logonscripts per Aufgabenplanung eingerichtet (Ausführung bei Anmeldung). Dies funktioniert ebenfalls! Auf 4 anderen Clients funktioniert das Logonscript per lokalen Richtlinien auch. Nur dieser eine Client - auf dem einmal falsche Zugangsdaten hinterlegt waren - funktioniert so eben nicht. Gibt es irgendwie einen Cache den ich ggfs. löschen sollte? Oder andere Ideen, warum sich dieser eine Client komplett anders verhält? Vielen Dank und viele Grüße Stephan
  25. SCOM Agent Task - Create Log Deletion Job Einleitung: Viele Applikationen und Dienste die auf Servern laufen erstellen Log Dateien. Manche machen dies von Hause aus, andere müssen explizit von einem Administrator oder Entwickler zum Protokollieren konfiguriert werden. Um zu verhindern, dass die Logs den kompletten Festplattenspeicher konsumieren fügt entweder der bedachte Entwickler eine Löschroutine hinzu oder aber wir Administratoren helfen mit Lösch - Skripten über den Task Planer. Ich habe für SCOM 2012 R2 (und höher) ein kostenfreies und quelloffenes Management Pack erstellt welches den Adminstrator unter die Arme greift. Detials: Nach dem Importieren des Management Packs stehen zwei neue Agent Tasks für Windows Computer bereit. Create Log Deletion Job - Erstellt einen geplanten Task welche Dateien älter als N Tag auf dem überwachten computer löscht. Create Log Compress ( + Deletion ) Job - Erstellt einen geplanten Task welche Dateien älter als N Tag auf dem überwachten computer komprimiert und wahlweise auch löscht. Bilder: Log Deletion Task in der SCOM Console: Log Compress Task in der SCOM Console: Download: Eine Ausführliche Anleitung und das Management Pack findet man auf: SCOM Agent Task - Create Log Deletion Job (github) Ebenfalls verfügbar plus automatische updates ist es über den Community Management Pack Catalog Feedback oder Fragen sind willkommen
×