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

ipconfig verständnisfrage

$
0
0

moin,

ich habe in einem Buch ein Beispiel gefunden das ich in der ISE augeführt habe.

$info = ipconfig.exe
$info
$info -like '*IPv4*'

manchmal geht es manchmal nicht. Liegt das an der ISE?

so geht es auch in der ISE immer?

$info = ipconfig.exe
$info -like '*IPv4*'

warum bekomme ich keinen String sondern ein Objekt zurück?

IsPublic IsSerial Name                                     BaseType                                                                                                                          
-------- -------- ----                                     --------                                                                                                                          
True     True     Object[]                                 System.Array



Remote Powershell script only works when executed on a DC

$
0
0

Hi all,

I am not a Powershell expert but need to use some scripts in an automation project. My problem:

The environment consists of 3 Servers:

DC-01: Windows 2016, Domain Controller

DB-01: Windows 2016, SQL-Server

ISM: Windows 2012R2, runs our ITSM Software

I have a very simple script:

import-module ActiveDirectory

New-ADGroup -GroupScopeDomainLocal-GroupCategorySecurity-NameTestGroup 

WindowsRM is configured on all 3 servers, which are part of the same Domain (called LAB) I have a user called svc_ism which is a Domain User and Member of Local Administrator Groups on all 3 servers.

When I start the script local on DB-01, everything works fine.

When I start the script from ISM with "winrs -r:DB-01 powershelgl c:\scripts\hw.ps1" I get

New-ADGroup : Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.
At C:\scripts\hw.ps1:3 char:1
+ New-ADGroup -GroupScope DomainLocal -GroupCategory Security -Name Tes ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [New-ADGroup], ADServerDownException
    + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.NewADGroup

What can I do?

Thanks,Joern

Setzen einer statischen IP anhand der MAC Adresse

$
0
0

Hallo Gemeinde

Ich arbeite mich so langsam in PS ein und baue mir dazu gerade ein Windows Server Test LAB auf.

Die VMs werden über PS Script auf dem Hyper-V Host erstellt, Netzwerkkarten und Disks zugewiesen usw. Jede NIC im Server erhält eine statische MAC Adresse zugeteilt.
Auch die Konfiguration und Installation der Server (AD, DHCP, DNS, CA usw.) läuft alles über ein weiteres PS Script.
Soweit so gut. Nun möchte ich anfangen weiter zu automatisieren.

Wie stelle ich es an, das ich nun die IP Adressen der VMs fix vergeben kann anhand der MAC Adresse?
Meine Idee wäre eine separierte Liste gewesen in der MAC und IP Zuweisung vermerkt ist, und das Server Konfiguration Script greift auf diese Liste zu. 
Somit könnte ich die Liste auch für weitere Umgebungen nutzen.
Wie setzt ich so etwas um? Ist dies überhaupt so möglich? Oder ist es einfacher über den VM Namen zu gehen dann benötige ich den Schritt mit der fixen MAC Adresse nicht.

Könnt Ihr mir hier weiterhelfen?
Stehe momentan gerade etwas an.

Besten Dank schon im Voraus

select-string kennt keine Umlaute

$
0
0

Hallo zusammen,

lt. Notepad habe ich eine ANSI Datei mit Umlauten. Select-String kennt leider scheinbar kein -encoding ANSI und Umlaute finde ich dadurch leider auch nicht.

Ist das schon jemand aufgefallen.

ich nehme Select-String oft ganz gerne adhoc her um schnell einmal in vielen Dateien etwas zu finden.

Fehler bei $excelobjekt = [Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application')

$
0
0

Hallo,

ich möchte gern auf eine bereits geöffnete Excelmappe zugreifen und Daten aus einer Zelle lesen. Dafür muss ich mir ja als erstes einmal die bereits gestartete Excel-Instanz holen. Das wollte ich wie folgt machen:

$excelobjekt = [Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application')

Beim Ausführen erhalte ich allerdings diesen Fehler:

Ausnahme beim Aufrufen von "GetActiveObject" mit 1 Argument(en):  "Vorgang nicht verfügbar. (Ausnahme von HRESULT: 0x800401E3
(MK_E_UNAVAILABLE))"
In C:\Powershell\Excel_lesen.ps1:3 Zeichen:1
+ $xl = [Runtime.InteropServices.Marshal]::GetActiveObject('Excel.Appli ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : COMException

Hat da jemand einen Rat???

Danke

Torsten

-compress zip Files fortlaufend hochzählen

$
0
0

Hier kommt eine Rookie-Frage: 

Ich erhalte im Ordner \work\ jeden Tag neue Files. Diese zippe ich in den Ordner \output\  und lösche dann den Inhalt des Ordners \work\

Daz führe folgende Befehle aus: 

#Compress-Archive -Path C:\PowershellTest\Work\*.* -CompressionLevel optimal -DestinationPath C:\PowershellTest\Output\test2.Zip 
#Remove-Item -Path "C:\PowershellTest\Work\*.*" 

Nun möchte ich gerne, dass die zip Files im Target-Ordner \output\ entweder immer um eine Zahl am Ende des FileNamens hochgezählt werden.     

\output\Test1.zip,

\output\Test2.zip,

\output\Test3.zip     usw... 

oder die Datei die vom \work\ ins \output\ gezippt wird auch immer mit dem aktuellen Datum versorgt wird, sodass am Ende folgende Struktur ersichtlich ist. 

\output\Test_06052020.zip 

\output\Test_07052020.zip 

\output\Test_08052020.zip     usw...    

kann mit da jemand im Rahmen meiner vorhandenen Befehle weiterhelfen ?  


GB/MB in Byte umwandeln,

$
0
0

moin,

bei vielen Exchange CmdLets und Auswertungen erhält man nachfolgende Ergebnisse in MB oder GB.

get-mailboxstatistics -id "xyz"  | select AttachmentTableTotalSize

zb. TableTotalSize : 20.81 GB (22,339,747,840 bytes)

dies kann man schwer bzw. gar nicht im Excel auswerten. Derzeit behelfe ich mir mit eine Funktion die ich im Internet gefunden habe um die Byte zu erhalten.

gibt es einen einfacheren Weg?

function Conv2Byte {

    $parts = $args[0].ToString().Split(' ')
    $bytesString = $parts[2].TrimStart('(').Replace(',', '')
    $bytes = [long]::Parse($bytesString)
    #Write-Host $bytes -ForegroundColor Green
    return $bytes

}


Chris

Für jede Datei in einem Verzeichnis 3 Befehle ausführen

$
0
0
Hallo zusammen,

ich habe mit PowerShell noch nie wirklich gearbeitet und habe nichts gefunden was mir weiterhilft.

Ich habe ein Verzeichnis C:\Test dort habe ich zip-Dateien für jede einzelne möchte ich

a) die umbenennen

In CMD kann ich die Umbenennung machen
for %i in (*.zip) do ren %i neuername.zip
Aber ich weiß nicht, wie ich dies in der PowerShell schreiben muss.

b) per E-Mail verschicken
In der PoweShell kann ich die E-Mail einzeln auch verschicken und der Anhang kommt auch mit.
sendmail "Absender@no.no" "Empfänger@no.no" "DEIN BETREFF" "DER INHALT" (gci 'C:\test\neuername.zip')

c) diese wieder umbenennen

Wie kann ich dies machen?

Danke
Mike



invoke-command führt nur teilweise Befehle aus

$
0
0

Hallo zusammen,
ich muss normalen Anwendern die Möglichkeit geben, über einen Citrix Terminalserver ein PowerShell Skript zu starten. Dazu habe ich den Aufruf der PowerShell mit dem Parameter des zu startenden Skriptes als Anwendung freigegeben und beim Start wird dieses Skript auch ausgeführt.

Von dem Skript soll wiederum ein Befehl auf einem anderen System ausgeführt werden, was ich über "invoke-command" realisiert habe. Dies funktioniert aber nur teilweise:

Invoke-Command -ComputerName [fqdn-des-servers] -ScriptBlock {
  Get-ChildItem c:\Install\
  Test-Connection -ComputerName [fqdn-eines-Clients] -Count 1 -Quiet
}

Das "Get-ChildItem" wird mir korrekt von dem Server ausgegeben, "Test-Connection" gibt aber einen Fehler aus:

Zugriff verweigert.

    Category Info: InvalidOperation: (:) [Test-Connection], ManagementException
    FullyQualifiedErrorID: TestConnectionException,Microsoft.PowerShell.Commands.TestconnectionCommand
    PSComputerName: [fqdn-des-servers]

Der Nutzer ist auf dem Server in den lokalen Gruppen "Remote Management Users" und "User". Zielsysteme waren ein Win10 Enterprise PC, ein Win2012R2 Server und ein Win2019 Server.
Der Terminalserver, auf dem das Skript gestartet wird, ist ein Win2019 Server.
Enable-PSRemoting -force wurde vorher mit Adminrechten auf den Systemen ausgeführt.
PowerShell ist jeweils in der Version 5.1 installiert.

Vielen Dank
Timo Ka


Mergen von PDF-Dateien

$
0
0

Hallo ich bin neu hier und muss mich erst noch zurechtfinden. Ich bin auf der Suche nach einem Script, um 2 PDF Dateien aus einem Ordner zusammenzufügen und in einen anderen Ordner zu kopieren. Die beiden PDF-Dateien sollten danach gelöscht werden.

Diese beiden Dateien:

C:\Export\Results_Temp\Grafikplot.pdf

C:\Export\Results_Temp\Messprotokoll_Komplett.pdf

sollen in den Ordner:

C:\Export\Results\

zusammengefügt werden, mit dem neuen Dateinamen:

Grafik_Messprotokoll.pdf

Bisher hatte ich es mit dem Tool pdf24-DocTool gemacht.

Ich möchte es aber jetzt mit Windows PowerShell versuchen.

Vielen Dank für Ihre Hilfe.

Dynamischer Pfad in Powershell weiterverarbeiten

$
0
0

Hallo zusammen,

ich möchte gerne in einem Verzeinis jeweils auf den neusten Ordner Daten auslesen und dann sortieren. Kriege aber Probleme mit dem Pfad. Konkret seht ihr unten was ich mache. Die Variable $Path funktioniert, kann aber im zweiten Teil nicht verarbeitet werden. Beide Teile funktionieren einzeln, aber nicht im zusammenspiel (beim zweiten Teil natürlich nur mit UNC Pfad).

#Pfad auslesen

$Path = gci -r -Directory \\domäne\Pfad\mehrpfad\bla\bla\bla\ende-pfad |  select -Last 1 | |select fullname

#hier lese ich alle PDFs aus, schaue mir die ersten vier Zeichen an, sortiere sie nach den prefix und mache dann eine #zusammenstellung nach prefix

Get-ChildItem -path $Path | where-object {$_.extension -eq ".pdf" } | select fullname, basename, Extension, @{Name="Prefix"; Expression={$_.basename.substring(0,4)}} | sort Prefix | Group-Object prefix | select name,count

Fehlermeldung kommt:

Get-ChildItem : Der Pfad "H:\@{FullName=\\domäne\Pfad\mehrpfad\bla\bla\bla\ende-pfad}" kann nicht gefunden werden, da er nicht vorhanden ist.

Es ist egal ob ich mit -UNC oder Laufwerkbuchstaben arbeite..

hat hier jemand eine ahnung wie ich das lösen kann?

Verständnisfrage SOAP - PowerShell - New-WebServiceProxy

$
0
0

Hallo,

mir ist nicht ganz klar wie hier die Parameter übergeben werden, bei der Methode instantiate.

$user = "test"
$pass = "passwort"

$URI = "http://SERVER:8080/process-engine/soap?wsdl"

$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($user, $secpasswd)

$infe = New-WebServiceProxy -uri $URI -Credential $credentials -Namespace "INF"$infe.instantiate(?)

REQUEST

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.service.engine.SERVER.com/"><soapenv:Header/><soapenv:Body><soap:instantiate><!--Optional:--><processUri>?</processUri><!--Optional:--><cache>?</cache><!--Optional:--><threadPoolId>?</threadPoolId><!--Optional:--><process>?</process><!--Optional:--><debug>?</debug><!--Optional:--><simpleDataStore>?</simpleDataStore></soap:instantiate></soapenv:Body></soapenv:Envelope>

mfg

Nyenhuis

2 PDF-Dateien zu einer einzigen PDF-Datei zusammenfuehren (mergen)

$
0
0
Hallo, ich möchte, dass 2 PDF-Dateien in einem Verzeichnis zu einer einzigen PDF-Datei zusammengeführt werden und diese neue PDF-Datei in ein anderes Verzeichnis kopiert wird. Ich möchte hierfür das Windows PowerShell ISE-Programm verwenden. Könnte mir jemand ein Skript zeigen, mit dem diese Zusammenführung möglich ist. Ich habe auch gelesen, dass das PDF-Sharp-Tool dafür notwendig ist. Wie muss ich das einbeziehen? Danke für deine Unterstützung.

Benutzer von CSV Datei in AD aufnehmen

$
0
0

Guten Abend,

ich versuche Benutzer von CSV Datei in AD aufzunehmen. Die Datei habe ich einfach selbst erstellt in Editor.

Ich mache nach diese Anleitung  "Youtube Active Directory Benutzer aus CSV erstellen" gemacht.  Leider der Link kann ich nicht posten. 

Unter dem Video steht einen Link woher man der Code kopieren kann. 

Also wie es im Video gezeigt wird. Ich habe nur einlese Pfad und Ausgabe Pfad geändert alle andere habe ich so übernommen. 

Aber es funktioniert trotzdem nicht. 

Wenn ich die Code starte steht unter

cmdlet New-ADUser at command pipeline position 1

Supply values for the following parameter:

Name:  Mustermann

Wenn ich hier Name "Mustermann" schreibe dann wird Mustermann in der  AD hinzugefügt und Rest erscheint lange Fehlermeldung und unter steht wieder den gleiche Text

cmdlet New-ADUser at command pipeline position 1

Supply values for the following parameter:

Name:  Mustermann

Wie es in der Video gezeigt wurde CSV Datei korrekt eingebunden, weil ich die Anzahl von Benutzern ausgeben kann und ebenso die Benutzer, welcher am erste Stehle steht. Also alles wie in Video gezeigt ist. 

Die Fehlermeldung sieht so aus. 

-Surname : The term '-Surname' is not recognized as the name of a cmdlet, function, script file, or operable program. Check 
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:9 char:7+       -Surname $Benutzer.Name+       ~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-Surname:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-GivenName : The term '-GivenName' is not recognized as the name of a cmdlet, function, script file, or operable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:10 char:7+       -GivenName $Benutzer.Vorname+       ~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-GivenName:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-SamAccountName : The term '-SamAccountName' is not recognized as the name of a cmdlet, function, script file, or operable 
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:11 char:7+       -SamAccountName $Benutzer.Login+       ~~~~~~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-SamAccountName:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-UserPrincipalName : The term '-UserPrincipalName' is not recognized as the name of a cmdlet, function, script file, or 
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:12 char:7+       -UserPrincipalName $benutzer.Login+       ~~~~~~~~~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-UserPrincipalName:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
ConvertTo-SecureString : Cannot bind argument to parameter 'String' because it is null.
At line:13 char:46+ ... ord ($Benutzer.Password | ConvertTo-SecureString -AsPlainText -Force)+                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : InvalidData: (:) [ConvertTo-SecureString], ParameterBindingValidationException+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ConvertToSecureS 
   tringCommand
-AccountPassword : The term '-AccountPassword' is not recognized as the name of a cmdlet, function, script file, or 
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:13 char:7+       -AccountPassword ($Benutzer.Password | ConvertTo-SecureString - ...+       ~~~~~~~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-AccountPassword:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-Enabled: : The term '-Enabled:' is not recognized as the name of a cmdlet, function, script file, or operable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:14 char:7+       -Enabled:$true+       ~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-Enabled::String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-Displayname : The term '-Displayname' is not recognized as the name of a cmdlet, function, script file, or operable 
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:15 char:7+       -Displayname "$($Benutzer.Vorname) $($Benutzer.Name)"+       ~~~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (-Displayname:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException

Wo mache ich Fehler hat jemand eine Idee?  

Problem mit Skript beim Zusammenfügen von ts Dateien

$
0
0

Hallo,

mir wurde vo einem netten Forummitglied folgendes Skript geschrieben um mehrere Teildateinen einer großen .ts Filmdatei zusammenzufügen.

Die Dateien wurden wegen FAT32 vom TV Revciever in mehrere Teile aufgeteilt. Alle in Ordnern in denen sich folgendes befindet (Filmname.ts; Filmname1.ts; Filmname2.ts etc.)

# Quellverzeichnis mit Ordnern
>> $Quelle = "N:\"
>>
>> # Zielverzeichnis der .ts Ausgabedatei(en)
>> $Ziel = "S:\ZielOrdner"
>>
>> # falls "\" am Ende von Ziel vergessen
>> if ( $Ziel.Substring($Ziel.Length-1) -ne "\" ) { $Ziel += "\" }
>>
>> # falls Zielverzeichnis existiert
>> if ( Test-Path -Path $Ziel -PathType Container ) {
>>
>>     # Einlesen der Verzeichnisse im Quellordner
>>     $folders = Get-ChildItem -Directory -Path $Quelle
>>
>>     # falls Ordner vorhanden
>>     if ( $folders.Count -ne 0 ) {
>>         foreach ( $ordner in $folders ) {
>>             # Kontrollausgabe
>>             $ordner.FullName
>>             # Name der Zieldatei
>>             $Stub = $Ziel + $ordner.BaseName
>>             # neue Datei
>>             $target = $Stub + ".ts"
>>             # bei Leerzeichen Anfuehrungszeichen hinzu
>>             if ( $Stub.IndexOf(" ") -ne -1 ) { $target = "`"" + $target + "`"" }
>>             # Suchmaske fuer Dateien im Ordner
>>             $files = $ordner.FullName + "\*.ts"
>>
>>             # falls weder Zieldatei noch getestete Zieldatei vorhanden sind...
>>             if ( -not ( Test-Path -Path $target ) ) {
>>                 # bei Leerzeichen Anfuehrungszeichen hinzu wg. DOS
>>                 if ( $files.IndexOf(" ") -ne -1 ) { $files = "`"" + $files + "`"" }
>>                 # Combine per DOS-copy anwerfen
>>                 Start-Process -FilePath "$env:comspec" -ArgumentList "/c","copy","/b",$files,$target -Wait
>>                 # nach jedem Verzeichnis auf Enter-Taste warten
>> #                Read-Host -Prompt "Enter..."
>>             }
>>         }
>>     } else { Write-Host "Keine Ordner in $Quelle gefunden." }
>> } else { Write-Host "Zielverzeichnis $Ziel existiert nicht!" }

Das ganze funktionierte letzte Woche auch ganz gut.

Als ich es heute gestartet habe wurden die Dateien in in der falschen Reihenfolge zusammengefügt.

Also erst Teil3 danarn Teil2 daran Teil1 etc.

Das macht natürlich keinen Sinn.

Kann mir bitte jemand weiterhelfen und erklären wo das Problem liegt.

Warum ging das letzte Woche und geht jetzt nicht mehr?

Der einzige Unterschied waren die Quelle (I:\) und das Ziel. (P:\ZielOrdner)

Ich bin hier echt am verzweifeln da ich riesige Mengen dieser Dateien hier habe.

Bitte um Hilfe.

Vielen Dank.

Beste Grüße

Ingo


Powershell Programme suchen und Variable

$
0
0

Hallo, 

Ich packe zwei fragen in einem Thema. 

Erste und leichtesten 

$programName = Read-Host 'Bitte geben Sie Namen des Programms?'

 Get-Content -Path D:\Programme.txt | Where-Object {$_ -like '*$programName*'}

Hier in diesem Fall Variable wird nicht gesucht. Wenn ich das staat Variable Name des Programms schreibe funktioniert einwandfrei. 

z.B so 

Get-Content -Path D:\Programme.txt | Where-Object {$_ -like '*Mozilla*'}

Wieso funktioniert hier suchen mit Variable nicht? 

Zweite Frage

Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall | 
% {Get-ItemProperty $_.PsPath} | 
where {$_.Displayname -and ($_.Displayname -match ".*")} | 
sort Displayname | select DisplayName, Publisher |
Out-File -FilePath D:\Programme.txt

Mit diesem Script wollte ich, Programme auflisten, welche in Programme und Features angezeigt wird aber es lest manche Programme raus z.B Google. 

Wie kann ich die Probleme beheben? 



Try Catch in einer Foreach schleife läuft immer wieder in ERROR.

$
0
0

Hallo Zusammen,

Was ich mache, einfach zusammengefasst: Ich Frage Nutzer aus einem AD ab und möchte in einer Foreach Schleife die Postfächer jedes Benutzers und dann wiederum mit einem Foreach die Berechtigung der darin erhaltenen Ordner abfragen. 

Plan: Einige Nutzer besitzen kein Postfach und ich möchte diese Nutzer per TryCatch abfangen und eine Meldung darüber in einem Log hinterlegen. 

Problem: Das TryCatch wird einfach übergangen und der Script läuft trotzdem in einen Fehler. (Ich darf leider noch keine Bilder einfügen)

Für das Postfach Username konnte keine Postfachordnerstatistik abgerufen werden. Fehler: 'Username' nicht als Empfänger gefunden.
    + CategoryInfo          : ReadError: (:) [Get-MailboxFolderStatistics], MailboxFolderStatisticsException+ FullyQualifiedErrorId : [Server=Server,RequestId=XYZ,TimeStamp=03.06.2020 08:53:31] [FailureCategory=Cmdlet-MailboxFolderSt 
   atisticsException] 3F4A62CB,Microsoft.Exchange.Management.Tasks.GetMailboxFolderStatistics+ PSComputerName        : Server

Betroffener Codeabschnitt:

$users = "Username" Foreach ($user in $users) { Try{$verfuegbareOrdner = (Get-MailboxFolderStatistics $user | select FolderPath)} catch{ Write-Host "Gibt es nicht, muss ins Log" continue }

[.. Noch eine ganze Menge Code der damit denke ich nichts zu tun hat und reibungslos funktioniert ..] }

Vielleicht hat von euch einer eine Idee warum das so ist. Sollten noch mehr Infos nötig sein, liefere ich diese gerne nach.

Vielen Danks schon mal.

Gruß Simon


WSUS, Downstreamserver und die Powershell

$
0
0

Hallo in die Runde,

ich habe die Aufgabe Windows Systeme, die sich eine zeitlang nicht gemeldet haben, per Powershell aus dem WSUS zu löschen. Wichtig ist dabei, dass auch die Systeme der Downstream WSUS-Server gelöscht werden.

Ich kenne zwei Möglichkeiten, sich die WSUS Clients anzeigen zu lassen:

$WSUS=get-WSUSServer -name Server.domain.de

Get-WSUS-Computer -updateserver $WSUS includedownstreamComputerTargets zeigt mir alle Clients an, auch die, die über Downstreamserver gepatcht werden. Mir fehlt aber die Möglichkeit, sie zu löschen.

$WSUS.getComputerTargets(). Hier ist die Methode delete() verfügbar. Die Clients, die über den Downstreamserver gepatcht werden, werden abeer nicht erfasst.

Wie habt Ihr das Problem gelöst?

Vielen Dank für eure Hilfe und ein schönes Wochenende

Christian

Einzelne "Windows 10" Store Apps aus einem Windows-Benutzerprofil oder von der gesamten Maschine entfernen

$
0
0
  
Hallo,

da unser aktuelles Script in letzter Zeit tw. nicht mehr mitspielt, hier meine Frage.

Ich kenne ein paar Varianten, um "Windows 10" Store Apps mit Powershell zu entfernen, profil-bezogen (angemeldeter User) oder global vom gesamten Windows-System (alle Profile):

Get-AppxPackage -Name "*bing*" | Remove-AppxPackage

Get-AppxPackage -Package "*Bing*" | Remove-AppxPackage

Get-AppxPackage -AllUsers -Name "*bing*" | Remove-AppxPackage

Get-AppxPackage -AllUsers -Package "*Bing*" | Remove-AppxPackage
Muss ich das für die letzten Releases/Builds aktualisieren oder sollte ich nach anderen Ursachen suchen?

Alle Apps entfernen möchte ich nicht. Den "Editor", den "Rechner", "Paint", "Sticky Notes" oder das "Snipping Tool" und diverse andere, die sollen bleiben.

Grüße

TD




Benutzer Wechsel per Knopfdruck

$
0
0

Hallo Profis,

beise mir die Zähne an diesem Problem aus, hoffe das Profis hier im Forum eine Lösung finden.

Ich möchte per Frei Programmierbaren USB Keyboard
einen Userswitch machen.

Das Heist Knopf1 ist User1, Knopf2 ist User2 usw..

Konzept wäre:

User 1 - > Normal PC hochfahren -> Mit Benutzer und Passwort anmelden -> Arbeit Verrichten
User 2 -> hochgefahrenen PC hinsetzen und Knopf 2 drücken -> Ohne Passwort eingabe direkt auf Desktop von User2 wechseln.
User 3 -> hochgefahrenen PC hinsetzen und Knopf 3 drücken -> Ohne Passwort eingabe direkt auf Desktop von User3 wechseln.

Es sind Aktuell werden 7 user benötigt.

Habt ihr eine Lösung ? Per Command oder Powershell Script das man auf die Frei Programmierbare Tastatur legen könnte.

Betriebssysteme sind 2x Windows10 und 1x Windows 7 alle mit einem Server verbunden.

Danke für Antworten schon im Vorraus.

Viewing all 2314 articles
Browse latest View live


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