-
Gesamte Inhalte
2.753 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von MurdocX
-
-
Ja! Das haben wir auch, sehr guter Einwand, kann ich gleich intern mal besprechen.
Das finde ich im Übrigen auch eine gute Idee --> verhindern, dass der PC gesperrt wird. Ich sage nur LabVIEW, Matlab etc... :-/.
Wir hatten öfters die Fälle, das wir die Räume mit über 30 Studenten voll hatten und dann waren mehrere Arbeitsstationen gesperrt, weil dort gerechnet wurde. Die Studenten in der Vorlesung haben dann b***d in die Röhre geschaut, weil sie keinen Platz mehr hatten.
Früher wurden die Computer über 60 Minuten Leerlauf heruntergefahren, bis die Studenten gecheckt haben einfach ein Stück Papier in die STRG-Taste genau das umgeht.
Du könntest ab der abendlichen Abschaltzeit ein Skript aktivieren, welches ausließ ob ein Benutzer angemeldet ist. Z.B. über die Variable %Username% oder in der Powershell mit $env:Username und dann entscheidet.
#requires -Version 1.0 if ($env:USERNAME -like '') { shutdown.exe /s /t 300 /c "Der Computer wird in 5 Minuten heruntergefahren. Speichern Sie nun Ihre Daten." }
-
Wir wollen für unsere Vorlesungen nicht das die Computer gesperrt / belegt sind. Simulationen können sie machen, solange sie an dem PC sitzen. Das Sperren der Arbeitsstation haben wir auch gesperrt. Wir haben eigene Server auf denen die Studenten rechnen können. Bsp. Ansys..
-
Das wäre eine gute Idee ja. Das Problem besteht darin, dass manche Studenten hier noch sind bis 22 Uhr.. deshalb die Frage, ob es ein Befehl gibt, der schaut, ob ein User angemeldet ist, so nicht, herunterfahren.
Bei unseren Studenten bin ich da nicht so nachsichtig und lasse die Computer 22:30 einfach herunterfahren ( Mit einer 5 minütigen Warnung ) :)
-
Falls es auch Powershell sein darf, kannst du dieses Skript nutzen:
Suchen & Umbenennen von Dateinamen mit Powershellhttp://www.it-explorations.de/suchen-umbenennen-von-dateinamen-mit-powershell/
-
Hier könntest du 2 Trigger in der Aufgabenplanung erstellen. Einer beim Abmelden der den Prozess startet und einer beim Anmelden, der diesen wieder killt (falls innerhalb der 15min sich wieder jemand anmeldet)
-
450 PC per Recovery-DVD? Wer macht den sowas?
Frag lieber nicht... Ich hab selbst schon die komischsten Konstellationen bei Kunden gesehen.
Nachtrag: Schon mal daran gedacht, dass deine Zugangsdaten vielleicht abgegrast wurden? Ich würde mal das Passwort ändern.
-
uhh ja das hatten wir schon mal hat jetzt nichts mit meiner frage zu tun nun gut
Nun ja, er möchte dich darauf hinweisen, dass du nur das letzte CU installieren / integrieren brauchst und nicht alle.
-
Über Google hättest du sicher was gutes gefunden ;)
Schau mal hier, dort gibts einige schöne Beispiele:
PowerShell ForEach und ForEach-Object
http://www.admin-source.de/BlogDeu/905/powershell-foreach-und-foreach-object
-
Das war nie die Anforderung ...
Geht sicher, wenn du die richtigen Parameter bei "Get-AdUser", "Get-AdGroup" und "Add-AdGroupMember" setzt.
@BOfH_666, Nils
Nächstes Mal mit öffentlicher Ausschreibung :D
-
Und noch einfacher:
Ich würde die Lösung von Nils bevorzugen, da
- die Objekte aus der Variable gegengeprüft werden können
- die Objekte für weitere Verarbeitungen genutzt werden können
- die Objekte nicht mehrmals abgefragt werden müssen
und Skripte wachsen ja ;-)
Nils :thumb1:
Dukel -> Award der Optimierung ;)
[ EDIT ]
Es geht sogar noch minimalistischer. Der berühmte Einzeiler.
UND es wurde ein Fehler übersehen, denn dem Befehl ADGroupMember muss bei Identity eine Gruppe und KEIN String übergeben werden.
Get-ADUser 'Alogie' -Properties memberOf | Select-Object -ExpandProperty memberOf | ForEach-Object { Get-ADGroup -Identity $_ | Add-ADGroupMember -Members 'PAhner' }
-
Du könntest dir den Befehl
"Import-CSV"
https://technet.microsoft.com/de-de/library/ee176874.aspx?f=255&MSPPError=-2147217396
genauer ansehen. Dann mit ForEach-Object oder einer ForEach - Schleife die Daten verarbeiten.
-
Select-Object -ExpandProperty Name
Wandelt dir die Ausgabe in einen [string] um.
-
$oldmap = (Get-Itemproperty HKCU:\Network\$unit).RemotePath
Kann ich nicht entfernen, da wird ja die Variable gesetzt.
Ersetze einfach $oldmap in der IF-Bedingung durch $Unit, dann kannst du die Zeile wie ich es beschrieben habe, entfernen.
Microsoft hat da wohl in jüngster Vergangenheit was gepatcht um die 'enablelinkedconnection' in der Registry zu verhindern.
"I opened a case on this issue. Microsoft stated a fix would be released in February. They couldn't tell me if it would be in the cumulative or in a separate update."
-
Hallo Nils,
habe es jetzt so gelöst:
$oldserver = "alterServer"$newserver = "neuerServer"
$oldunits = Get-ChildItem -Path HKCU:\Network\ -Name
ForEach ($unit in $oldunits){
$oldmap = (Get-Itemproperty HKCU:\Network\$unit).RemotePath
If ($oldmap -match $oldserver)
{
#Remove-PSDrive –Name $unit -Force
(New-Object -ComObject WScript.Network).RemoveNetworkDrive($unit +":", $true, $true)
New-PSDrive –Name $unit –PSProvider FileSystem –Root $oldmap.replace($oldserver,$newserver) –Persist
}}
So ganz zufrieden bin ich aber noch nicht. Melde mich nochmal.
Danke schon mal
Verbesserungsvorschläge:
- Entferne bei "Get-ChildItem" den Parameter "-Name", damit das komplette Objekt gespeichert wird. Damit ersparst du Dir die erneute Registry Abfrage von "Get-Itemproperty"
$oldmap = (Get-Itemproperty HKCU:\Network\$unit).RemotePath
If ($oldmap.RemotePath -match $oldserver)
- Alternativ von Remove-PSDrive ( Funktoniert das bei euch? Bei mir nicht mal mit "-force"! ) und dem ComObjekt könntest du "net use X: /delete" nutzen.
Start-Process -FilePath "net.exe" -ArgumentList "use $($unit.Name): /delete"
- Entferne bei "Get-ChildItem" den Parameter "-Name", damit das komplette Objekt gespeichert wird. Damit ersparst du Dir die erneute Registry Abfrage von "Get-Itemproperty"
-
Profil oder User?
Ich glaube er meint den Benutzer.
-
- Entfernt -
Zur Not über die Suchfunktion
-
Dies kannst du über eine Regel steuern (Ausführen von Skripten).
Probiere es mal hiermit:
Public Sub saveAttachtoDisk (itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String Dim dateFormat dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd H-mm") saveFolder = "C:\Temp" For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName Next End Sub
-
Erstelle einfach ein Datei mit OpenOffice, öffne diese mit "Notepad++" und lese unten rechts die Datei-Codierung aus.
- 1
-
Vielleicht auch ein kostenlos veröffentlichtes Tool aus der Technet Gallery
Open OST File in MS Outlook 2013/2007/2010/2016
https://gallery.technet.microsoft.com/office/Open-OST-File-in-MS-f45af3f7#content
-
Das mit dem Powershell Skript hatte ich bei meiner Recherche schon gesehen. Geht aber scheinbar nur wenn man Admin ist.
Ja das Skript muss mit "Admin"-Berechtigungen auf dem Exchange ausgeführt werden. Das kannst du einfach über ein zeitgesteuertes Skript via Aufgabenplanung ausführen. Sofern es geschrieben wurde ;-)
-
oder - was ich auch andeuten wollte - die Daten in einer separaten Datenbank ablegen.
Halte ich auch für die sinnvollste Lösung. Ich verwalte z.B. über dieses Verfahren eine kleine Inventarisierungslösung für ca. 500 Computer.
-
Möglichkeiten in das AD des Benutzers zu schreiben gibt es, sogar einige. Eine Liste der Attribute habe ich unten aufgelistet.Wäre es denn nicht sinniger und einfacher ein - immer diese Powershell ;-) - Skript zu schreiben welches die Information in eine einfache Textdatei einer versteckte Freigabe packt? Ich finde schon. Admin-Zugriff ist nicht nötig, das AD wird nicht zugemüllt und zu guter letzt, kannst du die Freigabe granular berechtigen.Benuter-Attribute durch den Benutzer beschreibbar:
- streetAddress
- homePostalAddress
- assistant
- info
- country/region name
- facsimileTelephoneNumber (fax number)
- International-ISDN-Number
- Locality-Name
- MSMQ-Digests
- mSMQSignCertificates
- Personal-Title
- Phone-Fax-Other
- Phone-Home-Other
- Phone-Home-Primary
- otherIpPhone
- ipPhonenumber
- primaryInternationalISDNNumber Phone-ISDN-Primary
- Phone-Mobile-Other (otherMobile)
- Phone-Mobile-Primary
- Phone-Office-Other (otherTelephone)
- Phone-Pager-Other
- Phone-Pager-Primary
- physicalDeliveryOfficeName
- thumbnailPhoto (Picture)
- postalCode
- preferredDeliveryMethod
- registeredAddress
- State-Or-Province-Name
- Street-Address
- telephoneNumber
- teletexTerminalIdentifier
- telexNumber
- primaryTelexNumber
- userCert
- User-Shared-Folder
- User-Shared-Folder-Other
- userSMIMECertificate
- x121Address
- X509-Cert
Hier noch ein kleiner Anreiz meinerseits:
#// Model [String]$Model = Get-ItemProperty -Path HKLM:\HARDWARE\DESCRIPTION\System\BIOS -Name 'SystemProductName' | Select-Object -ExpandProperty 'SystemProductName' #// BIOS-Hersteller [String]$BiosHersteller = Get-ItemProperty -Path HKLM:\HARDWARE\DESCRIPTION\System\BIOS -Name 'SystemManufacturer' | Select-Object -ExpandProperty 'SystemManufacturer' #// BIOS-Version [String]$BiosVersion = Get-ItemProperty -Path HKLM:\HARDWARE\DESCRIPTION\System\BIOS -Name 'BIOSVersion' | Select-Object -ExpandProperty 'BIOSVersion' #// Computername [String]$PCName = $env:COMPUTERNAME #// Benutzername [String]$Benutzername = $env:USERNAME
-
Exchange 2010 / 2013: Abwesenheitsassistent per PowerShell konfigurieren
http://deadaffebeef.com/blog/exchange-2010-2013-abwesenheitsassistent-per-powershell-konfigurieren/
Damit könntest du Dir etwas bauen. Du könntest eine "Aufgabe" in der Aufgabenplanung erstellen, die beim abmelden des Benutzer gewisse Daten im Netz speichert. Auf dem Exchange diese dann wieder abrufen und mit dem Befehl den Abwesenheitsassistent aktivieren/einstellen.
Die Frage der Sinnhaftigkeit wurde ja schon gestellt...
-
Auf der anderen Seite wenn schon ein Abwesenheitstext bereit steht reden wir hier von einem Klick?!
Soviel darf einem User schon zugemutet werden.
Wenn´s mit der Organisation nicht klappt, dann muss eben die Technik her halten ;)
Win7 fährt ungewünscht herunter und speichert keine geöffnete Datei
in Windows 7 Forum
Geschrieben
Vielleicht würde ich nun doch das Passwort ändern ;)