Het grote Powershell topic

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Een interessantere vraag: waarom krijg ik "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection" te zien? Je zou denken: "omdat het een array is". Wel, euh, volg even mee:

C#:
1
$Users = @(Get-ADUser -Filter 'Enabled -EQ $True' -Server $SelectedDomain -Credential $Credentials -Properties CanonicalName, SID, SamAccountName, GivenName, Surname, DisplayName, Mail, Title, StreetAddress, PostalCode, City, Country, Company, HomePage, OfficePhone, MobilePhone, Fax)

-> Alle data in $Users klopt

Voor elk domein gaat er een $Users in $ForestUsers
C#:
1
$ForestUsers = $ForestUsers + $Users

-> Alle data in $ForestUsers klopt

Wanneer ik de output transformeer door Select-Object...
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$FinalData = $ForestUsers | Select-Object @{Name="Domain";Expression={$_.CanonicalName.Split("/")[0]}},`
                                                @{Name="SID";Expression={$_.SID}},`
                                                @{Name="User";Expression={$_.sAMAccountname}},`
                                                @{Name="First Name";Expression={$_.GivenName}},`
                                                @{Name="Last Name";Expression={$_.Surname}},`
                                                @{Name="Display Name";Expression={$_.DisplayName}},`
                                                @{Name="E-Mail";Expression={$_.Mail}},`
                                                @{Name="Job Title";Expression={$_.Title}},`
                                                @{Name="Address";Expression={$_.StreetAddress}},`
                                                @{Name="Postal Code";Expression={$_.PostalCode}},`
                                                @{Name="City";Expression={$_.City}},`
                                                @{Name="Country";Expression={$_.Country}},`                         
                                                @{Name="Company";Expression={$_.Company}},`
                                                @{Name="Website";Expression={$_.HomePage}},`
                                                @{Name="Phone";Expression={$_.OfficePhone}},`
                                                @{Name="Mobile";Expression={$_.MobilePhone}},`
                                                @{Name="Fax";Expression={$_.Fax}} 
        
$FinalData | Export-CSV $TempDataFromAD -Delimiter ";" -Encoding UTF8 -NoTypeInformation

... dan krijg ik Microsoft.ActiveDirectory.Management.ADPropertyValueCollection voor alle waarden nà Country. Nochtans waren die geen arrayobjecten (volgend de documentatie zelfs gewoon String). Ook valt er niets te indexeren.
Zwaar gecensureerd screenshotje:
Afbeeldingslocatie: http://static.tweakers.net/ext/f/BCRgBdYZbHEsUhrJTUaBJRkL/medium.png
Ja, ik bouw een app rond de CSV ;)


Het bizarre is dat ik het in mijn console niet kan reproduceren - enkel in het script... en de enige relevante code heb ik hier gepost.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PS C:\Users\Administrator\Desktop> $FinalData[1]

Domain       : tweakers.net
SID          : S-X-X-XX-XXXXXXXX-XXXXXXXXX-XXXXXXXXXX-XXX
User         : Administrator
First Name   : Administrator
Last Name    : 
Display Name : Administrator
E-Mail       : administrator@tweakers.net
Job Title    : Blablabla
Address      : Blablabla
Postal Code  : 10000
City         : Berlin
Country      : Germany
Company      : Blablabla
Website      : about:blank
Phone        : 000000
Mobile       : 000000
Fax          : 000000


Als ik dat exporteer ziet mijn CSV er ook in orde uit. Hier de headers:
code:
1
Domain,"SID","User","First Name","Last Name","Display Name","E-Mail","Job Title","Address","Postal Code","City","Country","Company","Website","Phone","Mobile","Fax"


Quid? :s

[ Voor 24% gewijzigd door YellowOnline op 22-05-2015 14:01 ]


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Meekoh schreef op woensdag 29 juli 2015 @ 15:27:
[...]

Nou ik ben daar zelf ook nog niet 100% achter. Echter het grootste verschil dat ik kan bedenken tussen de twee is dat Get-ADUser gebruik maakt van de ADWS (Active Directory Web Services) en het andere script gewoon een LDAP query doet.
Blijkbaar voegen die Webservices een zekere overhead toe aan het hele proces.
Dat is toch wel een gigantisch verschil. Om uit te lezen ben ik volledig op LDAP overgeschakeld. Misschien moet ik hetzelfde doen voor wegschrijven (wat nu nog met Set-ADUser gebeurt).

Zijn er eigenlijk nog mensen die in een forest met vele domeinen werken? Anders share ik wel eens de code van mijn zelfgeknutselde programma. Screenshotjes hieronder. Een prijs voor GFX zal het niet krijgen, maar het is toch verdomd handig.

Afbeeldingslocatie: http://static.tweakers.net/ext/f/wi3x9Z1J7wSXrmpM9DFAqQqi/medium.jpgAfbeeldingslocatie: http://static.tweakers.net/ext/f/k8IWOTgkAGfOPtkH3FEBAg8r/medium.jpgAfbeeldingslocatie: http://static.tweakers.net/ext/f/JLRqgFRt8lRa7KpN0nCDlPYF/medium.jpg

[ Voor 20% gewijzigd door YellowOnline op 29-07-2015 16:01 ]


Acties:
  • 0 Henk 'm!

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 15:31
:D
Afbeeldingslocatie: https://scontent-ams2-1.xx.fbcdn.net/hphotos-xpt1/v/t1.0-9/11796308_10152881000912531_9188690900499471012_n.jpg?oh=79c6eab29dfffb718cf4af3c2bb76251&oe=5645D315

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Dat gaat hoor. Kwestie van een C++ library te installeren. Hier:

Afbeeldingslocatie: http://static.tweakers.net/ext/f/2SncKtMZABm47ESS4sUlixr2/full.gif

;)

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Mijn OpenElec based media center moest de deur uit omdat er gene integratie van XMBC/Kodi is met Netflix dat wij sinds kort in huis hebben. Ik heb er dan maar W10 opgegooid, wat bovendien handiger integreert in mijn domein. Spijtig genoeg vallen de desktopicons niet te resizen en eigenlijk stoort ook de rest van de interface mij op een medie center. Idealiter zie ik enkel de programma's die we nodig hebben. Er zijn waarschijnlijk tal van third-party add-ons hiervoor, maar ik wil geen bloatware op dat systeem. Dan maar zelf wat in elkaar knutselen in Powershell:

Afbeeldingslocatie: http://static.tweakers.net/ext/f/FEG1iNDHyfZbJa5081klG2ex/medium.png

15 minuten werk en nauwelijks code (voor een GUI-ding). Start op met het systeem. Enkel nog uitvinden hoe ik betrouwbaar automatisch inloggen kan op het systeem, want 9 van de 10 keer werkt de huidige methode (reghack) niet.

[ Voor 14% gewijzigd door YellowOnline op 16-08-2015 16:02 ]


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
@r!k schreef op maandag 07 september 2015 @ 15:36:
[...]


Ik had het ook niet over 'echte remoting' maar juist met WMI kun je zo eenvoudig gegevens van een andere machine opvragen dat ik niet begreep waarom yellowonline dat nooit zou adviseren.
Omdat ik het er niet mee eens ben dat dat zo gemakkelijk is als je beweert, tenzij in een onveilige omgeving.

Afbeeldingslocatie: http://static.tweakers.net/ext/f/OSaMZfUMpvJ3gqdhLxzmqDcb/full.jpg

(Typfout in screenshot... moet "rompslomp" zijn natuurlijk)

Met impersonation en credentials zou het hier ook niet gelukt zijn, maar zelfs als dat in mijn voorbeeld zou lukken: dat is niet waar men moet beginnen met PoSh. 't Is wat zoals bij de vraag "welke programmeertaal moet ik leren?" Ik ben altijd verrast als mensen C++ aanraden - ondanks de voor de hand liggende redenen dat C++ kennen een voordeel is om pakweg C# te leren is dat een slecht idee omdat het heel demotiverend werkt. Dan liever eerst (PoSh leren en dan) C# om later eventueel C++ te leren. Vanuit technologisch opzicht de verkeerde weg, maar de kans op afhaken is veel kleiner.

[ Voor 39% gewijzigd door YellowOnline op 07-09-2015 16:05 ]


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Craven schreef op vrijdag 27 november 2015 @ 15:10:
[...]

En ik maar denken dat ik ontwikkel voor W2012 en W2008R2 legacy is :D
Afbeeldingslocatie: http://static.tweakers.net/ext/f/wwPZUVTuF3ljFukNyPw3WB6z/full.jpg

Hier de breakdown van mijn belangrijkste forest (ik heb er nog):

0449 Windows NT
0086 Windows 2000 Professional
0003 Windows 2000 Server
1420 Windows XP Professional
0126 Windows Server 2003
0003 Windows Embedded Standard
0003 Windows Vista Business
0930 Windows 7 Professional
0006 Windows 7 Ultimate
0007 Windows Server 2008 Standard without Hyper-V
0007 Windows Server 2008 Standard
0001 Windows 8 Pro
0002 Windows 8.1 Pro
0035 Windows Server 2008 R2 Standard
0002 Windows 10 Pro Insider Preview
0001 Windows 10 Pro

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Killah_Priest schreef op woensdag 30 november 2016 @ 19:08:
[...]
Ware het niet dat Add-Type ontbreekt (en ook geen Reflection) waardoor ik deze DLL dus niet kan gebruiken in IoT.
Hoezo geen Add-Type? Ik heb net een DLL met Add-Type geladen in W10 IoT! ;)

Afbeeldingslocatie: https://tweakers.net/ext/f/Qj36Nq4lifGWypmo35H5YjhM/full.png

Of heb ik je verkeerd begrepen?

Mijn probleem is dat ik die tweede DLL niet laden kan door - denk ik - een architektuurprobleem. De tweede error is de verkeerde (blijkbaar was de method niet setpin) - als ik de juiste method doe krijg ik net de error dat die Interop ontbreekt.

[ Voor 22% gewijzigd door YellowOnline op 01-12-2016 11:15 ]


Acties:
  • 0 Henk 'm!

Verwijderd

#tafel van 1


$getal = 1,2,3,4,5,6,7,8,9,10


foreach ($getal in $d)

{


$getal * 1


}


#tafel van 2

$getal2 = 1,2,3,4,5,6,7,8,9,10


foreach ($getal2 in $d)

{

$getal2 * 2

}

#tafel van 3

$getal3 = 0,1,2,3,4,5,6,7,8,9,10


foreach ($getal3 in $d)

{

Write-host $getal3 * 3 -ForegroundColor red

}
Zodra ik het script wil draaien gebeurt er niks.


Afbeeldingslocatie: https://ibb.co/i2Ne28

[ Voor 17% gewijzigd door Verwijderd op 21-06-2018 16:05 . Reden: Powershell werkt niet meer ]


Acties:
  • +1 Henk 'm!

  • Roamor
  • Registratie: Mei 2004
  • Niet online
Weet iemand hoe ik de naam "A.txt" en "B.txt" kan opvragen via Powershell? Waar in de properties die verstopt zitten?

Als voorbeeld in het taakbeheer notepad; maar in de praktijk is het een ander process:

Afbeeldingslocatie: https://tweakers.net/ext/f/XHwJRgqZ3xFlZ8gTeaPKbF18/medium.png

Ik probeer het met varianten op:
code:
1
get-process -Name notepad | select name -ExpandProperty name


Maar misschien dat iemand het zo weet?

Edit:
Gevonden:
get-process -Name notepad | select MainWindowTitle 8)7 Soms kijk je te lang naar een probleem...

[ Voor 9% gewijzigd door Roamor op 27-06-2018 15:56 ]

Pagina: 1