Quantcast
Channel: Windows PowerShell Forum
Viewing all 2314 articles
Browse latest View live

Objekt an Funktion übergeben

$
0
0

Hallo zusammen,

ich wollte verschiedene Funktionen schreiben an die ich auch ein Objekt übergeben will.

Derzeit beschäftige ich mit mir der DotNet Zip Library (Ionic.Zip.dll).

Im Skript erstelle ich ein Objekt wie folgt:
[object]$ZipArchiv = New-Object Ionic.Zip.ZipFile($ZipName)

Nun möchte ich dieses Objekt an eine Funktion als Parameter übergeben, aber das klappt nicht. Verwende ich ...GetType() sehe ich das ein ZipFile System.Object ist.

Geht das überhaupt und wenn ja, wie kann ich ein entsprechendes Objekt übergeben?

Viele Grüsse,
Daniel



Dynamisches zweidimensional Array aus Funktion

$
0
0

Hallo zusammen,

ich habe eine Frage bzw komme mit einer Idee nicht weiter.

In einer Funktion möchte ich ein zweidimensionales Array erstellen und über eine Schleife dynamisch erweitern. Das so erstellte Array müchte ich dann aus der Funktion als Objekt (?) zurück geben.

Ziel ist das ich in einer Schleife alle *.xml Files aus einem Verzeichnis auslese und den Inhalt mit Dateinamen im Array ablege, also quasi

@('test.xml','<spielfilme><film regie="Tom Tykwer" titel="Lola rennt"><beschreibung><name typ="w">Lola</name> rennt für <name typ="m">Manni</name>, der 100000 Mark liegengelassen hat und noch 20 Minuten Zeit hat, das Geld auszuliefern.</beschreibung></film></spielfilme>')

und so weiter.

Wenn ich 5 XML-Files finde, so müsste im Array 5 Datensätze erfasst sein mit Datei-Name und -Inhalt.

Ich müsste also in der Funktion ein leeres Array erstellen, dann in der Schleife befüllen, das Array aus der Funktion zurückgeben und im Hauptscipt dann $ergebnis=funktionsname verwenden da Powershell damit ja die Variablen-Typ richtig setzt.

Verstehe ich das so richtig?

Gruss,
Daniel

PS: Ich hatte bisher mit Visual Basic zu tun, daher entschuldigt bitte wen ich was doofes Frage :-)

Mit PowerShell auf ExchangeShell Funktionen zugreifen - Nicht alle Funktionen?

$
0
0

Hi zusammen, 

ich habe folgendes Problem: Ich versuche per Remote über Powershell auf Funktionen des Exchange 2010 Servers zuzugreifen. Leider bekomme ich z.B. bei folgendem Befehl in Powershell nicht die Postfachgröße angezeigt, sondern er gibt mir nur die Anzeigenamen aus. Wenn ich den Befehl aber über die Exchange Shell abschicke, gibt er mir auch die Postfachgröße zurück. 

Was mache ich falsch? 

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://xxxxxxx/PowerShell/
Import-PSSession $Session -DisableNameChecking
Get-MailboxStatistics -Server 'xxxxxxxx' | where {$_.ObjectClass -eq “Mailbox”} | Sort-Object TotalItemSize -Descending | ft @{label=”User”;expression={$_.DisplayName}},@{label=”Total Size (MB)”;expression={$_.TotalItemSize.Value.ToMB()}} -auto

Verzeichnisgröße ermitteln, Get-ChildItem, sort

$
0
0

Hallo ihr Powershell Gurus.

ich haben eine Code gefunden und den angepasst und hätte 3 Fragen

$RootVz = Get-ChildItem -directory c:\temp
foreach ($i in $RootVz)
{
$Groesse = (Get-ChildItem "c:\$i\AppData" -Recurse | measure -property length -Sum)
"{0:N2}" -f ($Groesse.sum/1MB) + "MB,$i"
}

funktioniert so weit so gut. Wenn ich den Verzeichnisnamen vorne haben möchte geht es nicht.

"{0:N2}" -f ($Groesse.sum/1MB) + "MB,$i"

"$i","{0:N2}" -f ($Groesse.sum/1MB) + "MB"             ==> Verzeichnisname am Anfang geht nicht?

2.) was bedeutet {0:N2}

3. wenn ich das Ergebnis sortieren möchte (ich habe es jetzt in Excel sortiert - möchte aber für künftig dazulernen), müsste ich vermutlich die foreach Schleife einer Variable bzw. Objekt zuweisen - oder? Wie müsste der code da aussehen, wo steht das | sort, nach was sortiere ich? length = ja nicht die Summe die mir die foreach zurückliefert? Ich hoffe ich konnte mich etwas verständlich ausdrücken

$a = foreach ($i in $RootVz)


Chris

Ordnerrechte und Gruppenmitglieder in Beziehung setzen

$
0
0

Hallo liebe Gemeinde,

ich möchte per Powershell 1. Ordnerberechtigungen sowie 2. Mitglieder der Gruppen auslesen. Sodann beides in einer Datenbbank in Beziehung zueinander setzen um das ganze für die Chefetage visualisieren zu können. 

Leider bekomme ich als Ergebnis zu 1: "Gruppenname"

und als Ergebnis zu 2.: "Domain\Gruppenname" 

Wie bekomme ich bei 1. das gleiche Ergebnis wie bei 2. hin?

Vielen Dank

Grüße

Nick

Nachfolgende Script (meinen Dank den Autoren) benutze ich:

1.

#// Get all AD groups in the domain 
$ADGroups = Get-ADGroup -Filter * -SearchBase "OU=x, DC=y, DC=z, DC=com"
 
#// Set progress bar variables 
$i=0 
$tot = $ADGroups.count 
 
foreach ($ADGroup in $ADGroups) { 
#// Set up progress bar 
$i++ 
$status = "{0:N0}" -f ($i / $tot * 100) 
Write-Progress -Activity "Exporting AD Groups" -status "Processing Group $i of $tot : $status% Completed" -PercentComplete ($i / $tot * 100) 
 
#// Get group members which are also groups and add to string
$MembersArr = Get-ADGroup -filter {Name -eq $ADGroup.Name} | Get-ADGroupMember -recursive |  select Name
if ($MembersArr) {
foreach ($Member in $MembersArr) { 
$HashTab = $NULL 
$HashTab = [ordered]@{ 
"Name" = $ADGroup.Name 
"Category" = $ADGroup.GroupCategory 
"Scope" = $ADGroup.GroupScope 
"Members" = $Member.Name
}
#// Add hash table to CSV data array 
$CSVOutput += New-Object PSObject -Property $HashTab
}
}
}
 
#// Export to CSV files 
$CSVOutput | Sort-Object Name | Export-Csv $CSVFile -NoTypeInformation 

2.

# Ordner der rekursiv gescannt werden soll
$ORDNER = "g:\"

function List-FolderRights{
    param(
        [parameter(mandatory=$true)][string]$RootFolder,
        [bool]$IncludeInheritedRights = $true
    )
    $accessrules = @()
    $folders = gci $RootFolder | ?{$_.PSIsContainer}
    foreach($folder in $folders){
        try{
            $acl = Get-Acl $folder.FullName
            $acl.GetAccessRules($true,$IncludeInheritedRights,[System.Security.Principal.NTAccount]) | %{
                $accessrules += New-Object PSObject -Property @{
                    "Folder" = $folder.FullName
                    "Account" = $_.IdentityReference
                    "Rights" = $_.FileSystemRights
                    "AccessControlType" = $_.AccessControlType
                    "InheritanceFlags" = $_.InheritanceFlags
                }
            }
        }catch{write-host $_.Exception.Message -ForegroundColor Red}
    }
    return $accessrules
}

$result = List-FolderRights $ORDNER -IncludeInheritedRights $false | sort Folder,Account | select Folder,Account

Output to CSV
$result | export-csv "C:\folderrights.csv" -NoType -Delimiter ";" -Encoding UTF8


Access multidimensional Array

$
0
0

Hi,

I need some support regarding Array access..

I get a json output from a REST API:

$RoleList= (Invoke-WebRequest-SkipCertificateCheck-Uri$RestApiRole-MethodGET-WebSession$sv|

ConvertFrom-Json|

select-expandobjects|

Selectname, members)

This Array now has two rows: 

1.) names of the role (String)

2.) members of this role (List of strings)

I get the output:

for ($j=0;$j-lt $RoleList.length; $j++){

   $RoleList[$j]   

}

@{name=Administrator; members=System.Object[]; role=}

@{name=Database Administrator; members=; role=}

@{name=Data Proxy User; members=; role=}

@{name=Incident Administrator; members=; role=}

@{name=NetFlow Provider; members=; role=}

@{name=Network Administrator; members=; role=}

@{name=Network Security Administrator; members=; role=}

@{name=Operator; members=; role=}

@{name=PCI Compliance Auditor; members=; role=}

@{name=Report Administrator; members=; role=}

@{name=Security Analyst; members=System.Object[]; role=}

@{name=Security Policy Administrator; members=; role=}

@{name=System Events Monitor; members=; role=}

@{name=Unix Administrator; members=; role=}

@{name=User; members=; role=}

@{name=Windows Administrator; members=; role=}

I also can get the members list, but it is a list from @{name=Administrator; members=System.Object[]; role=} & @{name=Security Analyst; members=System.Object[]; role=} without an reference to the name.

for ($j=0;$j-lt $RoleList.members.length;$j++){

   $RoleList.members[$j]   

}

https://9.20.40.136:8443/SentinelRESTServices/objects/user/103

https://9.20.40.136:8443/SentinelRESTServices/objects/user/1

https://9.20.40.136:8443/SentinelRESTServices/objects/user/121

https://9.20.40.136:8443/SentinelRESTServices/objects/user/113

https://9.20.40.136:8443/SentinelRESTServices/objects/user/114

https://9.20.40.136:8443/SentinelRESTServices/objects/user/107

https://9.20.40.136:8443/SentinelRESTServices/objects/user/108

https://9.20.40.136:8443/SentinelRESTServices/objects/user/109

https://9.20.40.136:8443/SentinelRESTServices/objects/user/102

https://9.20.40.136:8443/SentinelRESTServices/objects/user/126

https://9.20.40.136:8443/SentinelRESTServices/objects/user/131

https://9.20.40.136:8443/SentinelRESTServices/objects/user/132

https://9.20.40.136:8443/SentinelRESTServices/objects/user/133

https://9.20.40.136:8443/SentinelRESTServices/objects/user/129

https://9.20.40.136:8443/SentinelRESTServices/objects/user/130

https://9.20.40.136:8443/SentinelRESTServices/objects/user/135

https://9.20.40.136:8443/SentinelRESTServices/objects/user/134

https://9.20.40.136:8443/SentinelRESTServices/objects/user/136

https://9.20.40.136:8443/SentinelRESTServices/objects/user/137

https://9.20.40.136:8443/SentinelRESTServices/objects/user/138

https://9.20.40.136:8443/SentinelRESTServices/objects/user/139

https://9.20.40.136:8443/SentinelRESTServices/objects/user/140

https://9.20.40.136:8443/SentinelRESTServices/objects/user/141

https://9.20.40.136:8443/SentinelRESTServices/objects/user/142

https://9.20.40.136:8443/SentinelRESTServices/objects/user/143

https://9.20.40.136:8443/SentinelRESTServices/objects/user/145

https://9.20.40.136:8443/SentinelRESTServices/objects/user/144

https://9.20.40.136:8443/SentinelRESTServices/objects/user/146

https://9.20.40.136:8443/SentinelRESTServices/objects/user/147

https://9.20.40.136:8443/SentinelRESTServices/objects/user/148

https://9.20.40.136:8443/SentinelRESTServices/objects/user/149

https://9.20.40.136:8443/SentinelRESTServices/objects/user/117

https://9.20.40.136:8443/SentinelRESTServices/objects/user/118

https://9.20.40.136:8443/SentinelRESTServices/objects/user/151

https://9.20.40.136:8443/SentinelRESTServices/objects/user/124

https://9.20.40.136:8443/SentinelRESTServices/objects/user/120

https://9.20.40.136:8443/SentinelRESTServices/objects/user/115

https://9.20.40.136:8443/SentinelRESTServices/objects/user/119

https://9.20.40.136:8443/SentinelRESTServices/objects/user/122

https://9.20.40.136:8443/SentinelRESTServices/objects/user/127

https://9.20.40.136:8443/SentinelRESTServices/objects/user/152

https://9.20.40.136:8443/SentinelRESTServices/objects/user/153


Any suggestions how I can get an output of the name with the connected members?

Regards,

Ulrich


InstallShield-Projekte von der Version 2014 auf die Version 2019 konvertieren

$
0
0

Ich versuche gerade InstallShield Projekte von der Version 2014 auf die Version 2019 zu konvertieren.

Am schönsten wäre, man kann dabei ein Verzeichnis angeben, die Automatisierung geht da rekursiv durch, schnappt sich jedes InstallShield Projekt (.ism) und konvertiert das dann.

 

Zur Konvertierung: InstallShield macht das eigentlich alleine. Wenn man ein altes Projekt mit der neuen Version öffnet, wird automatisch konvertiert. Nur würde ich das gerne Automatisieren.

Der einfachste Weg ist glaube ich, dass das Script einfach ein IS2019 Prozess mit jedem Projekt startet und dann wieder beendet… nur eine Vermutung :)

 

Komme aber dabei nicht auf einen grünen Zweig….

Falls mir jemand Starthilfe geben könnte, wäre ich wirklich froh :)

 

Grüße Karg

Eine Datei mit einem bestimmten Programm öffnen

$
0
0

Ich bin absoluter Anfänger und würde mich über Hilfe sehr freuen.

Ich versuche gerade Dateien in einem bestimmten Programm zu öffnen, die zuvor in einem Verzeichnis gefunden werden sollen.

Ich würde gerne ein Script schreiben, das ein Verzeichnis nach bestimmten Dateien rekursiv durchsucht, um sie dann in einem Programm zu öffnen und abzuspeichern.

 

Komme aber dabei nicht auf einen grünen Zweig….

Falls mir jemand Starthilfe geben könnte, wäre ich wirklich froh :)

 

[String] $folder="C:\WPS Aufgaben";Get-ChildItem -Path $folder -recurse| SELECT *.msi Attributes, Name, CreationTime | Format-Table -AutoSize;

Grüße Karg



Getrennte Benutzer automatisch abmelden ?

$
0
0
Hallo,
bei uns arbeiten die User mit ThinClients an Terminalservern. Da auch die Mehrfachanmeldung erlaubt ist, läuft irgendwann immer der Arbeitsspeicher durch noch vorhandene,aber getrennte Benutzersitzungen voll, weil unsere User lieber die "Trennen"-Option statt "Abmelden" nutzen. Nun, das könnte man vielleicht unterbinden,indem man einfach die "Trennen"-Option ausblendet, aber dann schalten sie einfach frech den ThinClient hart über den Powerbutton aus. Leider scheint die Option der Terminalserver, automatisch getrennte Sitzungen nach einer gewissen Frist abzumelden, nicht wirklich zu funktionieren (Sitzungszeitlimit).
Bisher habe ich einfach alle paar Tage die getrennten Sitzungen per Taskmanager abgemeldet, aber das ist mehr als lästig. Alternativ gehts auch damit, sich mit "qwinsta" die getrennten Sitzungen anzeigen zu lassen und per und "logoff" unter Angabe der SitzungsID manuell abzumelden, aber auch das ist nervig. Gibts vielleicht eine Möglichkeit, das über die Powershell zu regeln ?

ProgressBar in einer Foreach-Schleife befüllen

$
0
0

Hallo zusammen,

ich bin relativ neu in der PowerShell Programmierung und arbeite derzeit an einem Support-Tool mit GUI, das verschiedene Abfragen in das Firmennetzwerk bereitstellen soll. Dafür stehen diverse Buttons, eine Eingabe und eine Ausgabe Textbox zur Verfügung. Bei einigen Suchabfragen müssen mehrere Server angesprochen werden, was die Antwortzeit der entsprechenden Abfrage ordentlich hinauszögern kann.

  • Für mein Problem nutze ich die Abfrage, ob und auf welchem Scope ein Gerät eine DHCPv4 Reservierung hat. (Da es für dieses Gerät mehrere Reservierungen geben kann, müssen alle Scopes abgefragt werden. Also kein Abbruch, sobald es ein Ergebnis gab!)
  • Die Progressbar soll nach jedem durchsuchten Scope aktualisiert werden, aktuell ~300 Stück.
  • Mein Fehler bei dem ich nicht weiterkomme: Die ProgressBar aktualisiert sich erst beim Abschluss der Schleife. Wie kann Sie nach jeder Schleife aktualisiert werden?
  • (Nebenproblem: wie setze ich diese zurück und kann ich das zusammen mit dem Säubern der Ausgabe-Textbox in eine eigene Funktion packen, die dann von allen Button-Clicks ausgeführt wird?)

Unten stehender Code gehört zu meinen Events:

$btnWorkstation.Add_Click{
    $i =0
    $counter =0
    $txbOutput.Clear()
    $feed = $txbInput.Text
    $scopes =Get-DhcpServerv4Scope-ComputerName $dhcpserverForeach($scope in $scopes){
        $counter = $counter +1
        $reservation =Get-DhcpServerv4Reservation-ComputerName $dhcpserver -ScopeId $scope.scopeId |whereName-like $feed*-EA SilentlyContinueif($reservation){
            $i =1
            $txbOutput.Text+=("Name : $($reservation.Name)`r","IP : $($reservation.IPAddress)`r",)}
        $a = $counter/$scopes.Count*100Write-Host"$a of all Scopes"
        $ProgressBar.Dispatcher.Invoke([action]{
            $ProgressBar.Value= $a},"Normal")**}if($i -eq 0){
        $txbOutput.Text+=("Couldn't find DHCP Reservation for $feed.")}}

Brauche Hilfe bei der Erstellung eines Programms welches ein Verzeichnis durchläuft, jede Datei öffnet, dann schließt und dieses vermerkt. Ist das mit Powershell möglich ?

$
0
0

Ich bin neu bei Powershell und auch ein relativ neuer Programmierer, dem als IT Trainee die Aufgabe gestellt wurde, ein Verzeichnis zu durchlaufen und jede Datei zu öffnen um zu schaun ob sie sich öffnen lässt. Die sich nicht öffnenden Dateien sollen gekennzeichnet werden. 

Mit dem Befehl ii (Invoke Item) lässt sich doch jede Datei mit dem dafür vorgesehenen Standardprogramm öffnen. Wenn man das rekursiv macht, würde die dieser Befehl ein gesamtes Verzeichnis und sei es noch so groß durchlaufen können oder nicht ?

Kann man die Dateien auf die man keinen Zugriff hat irgendwie markieren ?

Ich freue mich über jede Hilfestellung und Anmerkung!

Video-Kurs für PowerShell

$
0
0

Hallo,

wer kann mir einen guten Video-Powershell-Kurs, auf deutsch, empfehlen?

Super wäre ein Kurs, dieser nach dem Step-by-Step-Prinzip vorangeht und anhand von vielen Beispielen arbeitet.

Danke

Auslesen von NTFS-Berechtigungen mit Powershell

$
0
0

Hallo,

ich würde mir gerne die NTFS-Berechtigung einzelner Verzeichnisse auslesen. Hierfür habe ich mir folgendes Powershellscript geschrieben:
Get-Acl -path "C:\Temp" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize
Get-Acl -path "C:\VZ1" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize
Get-Acl -path "C:\Next" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize

Auf dem Bildschirm bekomme ich die Wert "fast" optimal angezeigt:



Mein Ziel ist es dass ich, für Excel, eine zentrale Auswertung bekomme in dieser alle Verzeichnisse mit allen Berechtigungen stehen wie z.B. dieser Datensatz:


Wer hat einen Tipp für mich?

Danke

Erstellen und kopieren von Ordner mit Dateien

$
0
0

Hallo,

ich habe Probleme ein Script für meine Bedürfnisse zu realisieren. Es geht um folgendes:

Ich habe folgende Ordnerstruktur

--> Hauptordner

-> Ordner 1 (mit Dateien)

-> Ordner 2 (mit Dateien)

-> usw..

Nun möchte ich das Powershell jeweils eine Kopie der Ordner 1, Ordner 2, usw. (ohne Dateien) erstellt und die Quellordner mit den Dateien in das jeweils gerade erstellte Verzeichnis kopiert. Das sollte dann so aussehen:

--> Hauptordner

-> Ordner 1 -> Ordner 1 (mit Dateien)

-> Ordner 2 -> Ordner 2 (mit Dateien)

-> usw..

Da ich nicht wirklich Ahnung von Powershell habe, wäre ich über jede Hilfe dankbar.

MfG

Computername aus AD entspricht nicht dem geändertem Computernamen vom Befehl

$
0
0

Hallo Zusammen,

ich versuche folgende Anweisung umzusetzen: PC Namensänderung + Domainjoin. Hierbei soll der Benutzer den Namen via Kommandozeile und auch die Admin-Credentials per Loginfenster händisch eingeben.


Mein Problem:
Das Objekt im AD registriert zwar, dass der Name geändert wurde, aber es wird immer der vorherige Computername als Name des Objektes angezeigt. Das passiert nur mit dem Befehl, wenn ich alles händisch mache kommt solch ein Fehler nicht. Das ganze passiert auch, wenn das AD Objekt vorher nicht existent war und neu erstellt wird. Das AD-Objekt wird immer mit dem alten PC Namen erstellt, was für die Managebarkeit großer Mist ist.

Mein Script sieht so aus:

$name = Read-Host 'Bitte PC-Namen eingeben'
Add-Computer -ComputerName $env:computername -DomainName domain.local -NewName $name -Credential "domain\user"


Hier der Ausschnitt des Objektes aus dem Computer-Catchall:
(Leider darf ich noch keine Bilder posten)
Wenn man sich ein Computer-Objekt nimmt....

Steht oben im Fensternamen: Eingenschaften von [Alter Computername]
(Dann kommen die ganzen Reiter: Allgemein, Betriebssystem, Mitglied von, Delegierung, ...)
[Alter Computername]
Computername (Prä-Windows 2000): [Neuer Computername]
DNS-Name [Neuer Computername].domain.local
Domänencontrollertyp: Arbeitsstation oder Server
...

Hat da einer von euch Cracks eine Idee ;) ?

LG,

Tim


Datei nach UTF-8 codieren und im Anschluss löschen

$
0
0

Guten Morgen,

ich möchte mit einem Powershell Script bestehende txt-Dateien nach UTF-8 codieren, das mache ich mit diesem Script:

Get-ChildItem *.txt | % { Get-Content $_ | Out-File -Encoding UTF8 "$($_.basename)-UTF8.txt" }

Damit wird die txt-Datei nach UTF-8 codiert und unter dem bisherigen Dateinamen+"-UTF8".txt im selben Verzeichnis gespeichert.

Nun würde ich gerne noch die ursprüngliche (bereits verarbeitete) Datei (-> ChildItem) löschen. Da sich im Verzeichnis mehrere txt-Dateien befinden können, die ggf. noch nicht umkodiert wurden, kann nicht einfach der gesamte Verzeichnisinhalt gelöscht werden.

Für Eure Unterstützung bereits jetzt besten Dank!

Energieverwaltung in Netzwerkkarten per PowerShell steuern

$
0
0

Hallo zusammen,

da ich nach stundenlangem Suchen immer noch nichts gefunden habe wende ich mich nun an euch.

Ich bin Azubi und gerade dabei ein Automatisierungsskript für die Rechne-Konfiguration zu schreiben.

Für Wake On LAN muss in der Energieverwaltung des Netzwerkadapters der Haken für "Nur Magic Packet kann Computer aus dem Ruhezustand aktivieren" gesetzt werden. Ich finde leider nur befehle und Routinen um Wake on LAN allgemein zu aktivieren oder die Option "Gerät kann den Computer aus dem Ruhezustand aktivieren".

Hat da jemand ne Idee? Ich wäre sehr Dankbar!

welcher Programmaufruf eignet sich, dass sich Windows nicht schlafen legt ?

$
0
0

Hallo!

Habe ein Powershell Script, dass einige Zeit benötigt.

Kann ich einen Event generieren, dass sich Windows nicht schlafen legt ?

Die Simulation einer Tastatureingabe oder einer Mausbewegung gefällt mir dazu nicht sehr gut.

Danke für eure Tipps.

Erhy

Sleep Mode verhindern

$
0
0

Hallo!

Habe ein Powershell Script, dass einige Zeit benötigt.

Kann ich einen Event generieren, dass sich Windows nicht schlafen legt ?

Die Simulation einer Tastatureingabe oder einer Mausbewegung gefällt mir dazu nicht sehr gut.

Danke für eure Tipps.

Erhy


Problem mit New-SMBMapping -SaveCredentials

$
0
0

Hallo liebe Community,

bei der Inbetriebnahme einer neuen NAS bei einem Kunden mußte ich feststellen das die mit New-PSDrive aufgebaute Laufwerksverbindung nicht sauber getrennt wurde (bei der zweiten Ausführung erschien dann immer "Laufwerk U schon verbunden"). Außerdem erschien die Verbindung extrem langsam nachdem ich auf dem NAS SMB3 als einzige Protokoll aktiviert hatte...

Aber gut, hatte dann als Alternative New-SMBMapping gefunden. Da es sich um ein Sicherungsskript handelt und ich weder das Kennwort täglich neu eingeben noch im Klartext speichern möchte ist eine Funktion wie SaveCredentials für mich essentiell. Allerdings hatte ich dabei unerwartete Probleme:

New-SmbMapping -LocalPath y: -RemotePath '\\<IP>\Freigabe' -user '<IP>\User' -password 'Passwort'

lieferte das erwartete Ergebnis, die Freigabe auf dem NAS wurde wie erwartet als y: eingebunden. Nur

New-SmbMapping -LocalPath y: -RemotePath '\\<IP>\Freigabe' -user '<IP>\User' -password 'Passwort' -SaveCredentials

lieferte stets "Falscher Parameter" als Ergebnis zurück.

Das ganze läuft einem Windows Server 2016 Standard, die NAS ist eine QNAP TS-431X.

Ich hoffe ihr könnt mir weiterhelfen, besten Dank bereits im Voraus.

Christian

Viewing all 2314 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>