Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PowerShell-VBScript und AltSecurityIdentities

Frage Entwicklung Batch & Shell

Mitglied: black-one

black-one (Level 1) - Jetzt verbinden

26.07.2012 um 15:41 Uhr, 3536 Aufrufe, 6 Kommentare

Hallo

Hallo,

ich habe ein kleines Problem und ja Scripting liegt mir nicht direkt. Aber ich muss mich gerade darin einfitzen für Import von Daten ins AD.
Bisher bin ich soweit das ich mittels einer csv Datei und 2 PowerShell Befehlen, Computerkonten anlegen kann und den servicePrincipalNames setzen kann aus der csv Datei ebenfalls heraus.
Die Anzahl der Computerkonten umfasst 5000, daher dieser Weg und nicht alles händisch.

Das was noch fehlt ist das setzen des altSecurityIdentities.

Gefunden habe ich momentan das hier, was als VBS Script nutzbar wäre.
Aber wie bekomme ich es hin, dass die Daten aus der csv gelesen werden und an den beiden Stellen markiert der Client-Name eingetragen wird, oder evtl. aus dem AD ausgelesen da eingetragen wird.
Original:

Const ADS_PROPERTY_APPEND = 3

Set oUser = GetObject ("LDAP://CN=Josef Novak,OU=CertTest,dc=contoso,dc=com")
oUser.PutEx ADS_PROPERTY_APPEND, "altSecurityIdentities", _
Array("X509:<I>S=Czech
Republic,L=Praque,O=Contoso,E=josefn@xxxxxxxxxxx,CN=Josef Novak<S>S=Czech
Republic,L=Praque,O=Contoso,E=josefn@xxxxxxxxxxx,CN=Josef Novak")

oUser.SetInfo
Idee:
Const ADS_PROPERTY_APPEND = 3

Set oUser = GetObject ("LDAP://CN=HIER CLIENTNAME,CN=Computers,dc=XXXX,dc=local")
oUser.PutEx ADS_PROPERTY_APPEND, "altSecurityIdentities", _
Array("X509:<I>DC=local,O=XXXX,OU=XX,CN=XXXX,E=XXXXX<S>DC=local,O=XXXX,OU=XX,CN=HIER CLIENTNAME")

oUser.SetInfo

Im Endeffekt hätte ich erstmal 3 Befehle separat, was mir vorerst reicht. Auch wenn man vielleicht alles direkt zusammenfassen kann, aber da liegt momentan mein Problem, das ich es nicht weis..
Mitglied: bastla
26.07.2012, aktualisiert um 16:03 Uhr
Hallo black-one und willkommen im Forum!

Für eine CSV-Datei "D:\Computers.csv" mit nur einer Spalte (= in jeder Zeile ein Computername) ginge das in VBS (ungetestet) etwa so:
01.
CSV = "D:\Computers.csv" 
02.
Const ADS_PROPERTY_APPEND = 3 
03.
 
04.
Computers = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(CSV).ReadAll, vbCrLf) 
05.
 
06.
For Each Computer In Computers 
07.
    If Trim(Computer) <> "" Then 'Leerzeilen überspringen 
08.
        Set oUser = GetObject ("LDAP://CN=" & Computer & ",CN=Computers,dc=XXXX,dc=local") 
09.
        oUser.PutEx ADS_PROPERTY_APPEND, "altSecurityIdentities", _ 
10.
            Array("X509:<I>DC=local,O=XXXX,OU=XX,CN=XXXX,E=XXXXX<S>DC=local,O=XXXX,OU=XX,CN=" & Computer) 
11.
        oUser.SetInfo 
12.
    End If 
13.
Next
Grüße
bastla
Bitte warten ..
Mitglied: black-one
26.07.2012 um 16:56 Uhr
Hallo,
ja endlich auch mal angemeldet hier

und wahnsinn wie schnell eine Antwort kam, DANKE schonmal dafür.

Also ich habs nun angepasst noch an uns und über cmd gestartet, lässt sich da evtl. noch nen Fenster einbauen, das man sieht wie weit er ist. Sonst sieht man nicht ob er erfolgreich war oder was fehlt, etc.. Geht das sowas?

Theoretisch wäre es auch möglich meinee vorhanden csv damit zu bedienen oder? Weil habe gerade die vorhanden csv soweit bereinigt das nur noch die Clients beinhaltet waren, und auch ohne Kopfzeile..

mittels den Befehlen hol ich mir nämlich die Konten und die SPN über die CSV rein ins AD, aber mit PowerShell:
import-csv "Datei".csv | foreach {New-ADComputer -Name $_.Name -Description $_.Description}
import-csv "Datei.csv | foreach {Set-ADComputer $_.Name -servicePrincialNames @{Add=$_.Host1,$_.Host2}}

Wo Host1 und Host2 entsprechend für die Werte in der Tabelle stehen für den SPN, und $_.Name ist der Kopf für die Clients.
Bitte warten ..
Mitglied: bastla
26.07.2012, aktualisiert um 17:39 Uhr
Hallo black-one!
lässt sich da evtl. noch nen Fenster einbauen, das man sieht wie weit er ist. Sonst sieht man nicht ob er erfolgreich war oder was fehlt, etc.. Geht das sowas?
Zumindest den Fortschritt kannst Du bei einem Start über "cscript D:\DasScript.vbs"" aus dem CMD-Fenster verfolgen, wenn die Schleife etwas angepasst wird:
01.
CSV = "D:\Computers.csv" 
02.
Const ADS_PROPERTY_APPEND = 3 
03.
 
04.
Computers = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(CSV).ReadAll, vbCrLf) 
05.
 
06.
Anzahl = UBound(Computers) 
07.
For i = 0 To Anzahl 
08.
    WScript.Echo "Verarbeite " & i & " von " & Anzahl 
09.
    If Trim(Computers(i)) <> "" Then 'Leerzeilen überspringen 
10.
        Set oUser = GetObject ("LDAP://CN=" & Computers(i) & ",CN=Computers,dc=XXXX,dc=local") 
11.
        oUser.PutEx ADS_PROPERTY_APPEND, "altSecurityIdentities", _ 
12.
            Array("X509:<I>DC=local,O=XXXX,OU=XX,CN=XXXX,E=XXXXX<S>DC=local,O=XXXX,OU=XX,CN=" & Computers(i)) 
13.
        oUser.SetInfo 
14.
    End If 
15.
Next
Grüße
bastla
Bitte warten ..
Mitglied: black-one
27.07.2012 um 10:13 Uhr
Hi,

habs grad mal so getestet, er verarbeitet zwar was, aber trägt nichts bei altSecurityIdentities ein.
Mi der oberen Variante gehts.
Bitte warten ..
Mitglied: bastla
27.07.2012 um 14:25 Uhr
Hallo black-one!

Sorry - kann ich nicht nachvollziehen; beide Schleifen machen das Gleiche ...

... aber Du könntest auch die erste Variante noch etwas informativer machen, indem Du vor Zeile 8 einfügst
WScript.Echo Computer
- dann aber ebenfalls über "cscript" starten, da ansonsten für jeden Computer eine MsgBox wegzuklicken wäre ...

Grüße
bastla
Bitte warten ..
Mitglied: black-one
27.07.2012 um 15:23 Uhr
na vielleicht find ich noch den Unterschied zwischen den beiden Versionen...

habs grad mal mit eingebunden in die erste Variante und nun seh ich das er die pc´s abarbeitet und entsprechend die einträge setzt.
mit den jeweiligen 2 Powershell Befehlen, shaut es im Moment ganz gut aus..
Muss dies aber noch auf einem anderen System zum Test nachstellen und dann hoffentlich als erledigt sehen...
Ich schreib bestimmt nochmal was hierzu....

Ich danke schonmal für die Mühe und schnelle Unterstützung.
DANNNNKKEEEEEEEE
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBScript und OR
gelöst Frage von InvisanVB for Applications5 Kommentare

Hi zusammen, derzeit bastel ich ein bisschen in VBScript rum. Leider habe ich mit dem OR Operator einige Probleme. ...

Microsoft Office
Outlook VBScript
gelöst Frage von NebellichtMicrosoft Office5 Kommentare

Hallo, seit ein paar Wochen werden keine VBScripte hinter den (Benutzerspezifschen) Outlook Formularen ausgeführt. Hat jemand eine Lösung parat ...

Batch & Shell
Arbeiten mit INI Files in VBScript
Anleitung von FriemlerBatch & Shell11 Kommentare

In letzter Zeit habe ich hier im Forum des Öfteren Fragen gesehen, wie man aus einer INI-Datei Werte liest ...

Windows 7
VBScript - HTML Probleme mit Schriftgröße
gelöst Frage von MedicalAdWindows 75 Kommentare

Servus Leute, ich brauche mal eure Hilfe. Das VBScript was unten aufzufinden ist funktioniert soweit (das ist ein Coundtown ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell16 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Hardware
Fujitsu Workstation mit K80 und Quadro P5000, Fehlermeldung: Connect Power Adapter
Frage von MachelloHardware7 Kommentare

Hallo Zusammen, ich benötige euren Rat da ich ratlos bin. Folgende Konfiguration im Büro: Fujitsu Workstation Celcius R940 Power ...