Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Powershell script - schoolopdracht - problemen

Pagina: 1
Acties:

  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
Hoi iedereen,

Ik heb een schoolopdracht gekregen in Powershell, maar ik zit met enkel problemen die niet opgelost raken.

Ik zal beginnen met de opdracht even hier te plaatsen en dan mijn problemen uit de doeken te doen:

1. Configureer uw server met volgende instellingen
  • Server name: W2K8PWSHLL01
  • Ip address: 192.168.126.140
  • Subnet: 255.255.255.0
  • Gateway: 192.168.126.140
  • DNS: 192.168.126.140
  • Administrator password: Admin2012
2. Maak een domain-controller (Maak hiervoor gebruik van dcpromo in combinatie met een unattend-file)
  • uw domain heeft als naam: pwrshll.local
  • active directory restore mode paswoord: Passw0rd1
  • DNS automatisch laten installeren
3. Installeer onderstaande ‘roles’ en/of ‘features’ op de server
  • PowerShell ISE
Dit is wat ik voorlopig heb kunnen maken:

https://www.dropbox.com/sh/ae676cka7cx7q2x/PQLGJrLGHv


Nu de problemen die ik ondervind bij het creëren van dit script zijn misschien makkelijk op te lossen maar na 4 uren googelen kom ik er echt niet uit en de deadline nadert snel :?
  • De opdracht zoals ik ze heb gekopieerd vereist dat de computer/server enkele keren herstart gedurende het script. Echter weet ik niet hoe ik er voor zou kunnen zorgen dat het script zich herneemt na de herstart zonder interactie van de eindgebruiker.
    Een voorbeeld hiervan is bv. het hernoemen van de server, daarna een herstart uitvoeren en AD installeren. Nu moet ik telkens zelf selecteren welk deel van de code moet worden uitgevoerd.
  • Ik krijg het ook niet voor elkaar om de default gateway in te stellen, hoe ik het ook draai of keer deze blijft steeds leeg.
  • De installatie van Active Directory lukt me ook niet voor 100%. Het deel waarin dcpromo.exe wordt aangeroepen mislukt omdat DNS niet is geïnstalleerd terwijl ik in mijn unnatend-file deze wel opgeef om te installeren.
Ik heb via Google de meeste opties geprobeerd en letterlijk voorbeelden overgenomen zonder succes. Mocht iemand me op weg kunnen helpen zou dit zeer fijn zijn aangezien dit één van mijn laatste modules is om af te studeren dit jaar.

  • CMD-Snake
  • Registratie: Oktober 2011
  • Laatst online: 13-11-2022
Toon-VA schreef op dinsdag 04 juni 2013 @ 17:01:
  • De opdracht zoals ik ze heb gekopieerd vereist dat de computer/server enkele keren herstart gedurende het script. Echter weet ik niet hoe ik er voor zou kunnen zorgen dat het script zich herneemt na de herstart zonder interactie van de eindgebruiker.
    Een voorbeeld hiervan is bv. het hernoemen van de server, daarna een herstart uitvoeren en AD installeren. Nu moet ik telkens zelf selecteren welk deel van de code moet worden uitgevoerd.
  • Ik krijg het ook niet voor elkaar om de default gateway in te stellen, hoe ik het ook draai of keer deze blijft steeds leeg.
  • De installatie van Active Directory lukt me ook niet voor 100%. Het deel waarin dcpromo.exe wordt aangeroepen mislukt omdat DNS niet is geïnstalleerd terwijl ik in mijn unnatend-file deze wel opgeef om te installeren.
In de goede oude dagen van RIS deployments deed ik veelal een script via het register aanroepen. Je moet dan wel meerdere scripts maken, dat na de rename een run once key gemaakt wordt voor je vervolg script. Na reboot start je vervolg script om en gaat verder. Mocht er weer een reboot nodig zijn dan opnieuw herhalen. Je hakt de boel in stukjes dan en zo begin je telkens op het juiste punt. Let wel dat als je een error in je script tegenkomt de boel uiteenvalt.

Maar bovenstaande is anno nu vreselijk achterhaald. Als je nu een OS deployt gebruik je bijvoorkeur SCCM. Je kan dan met task sequences netjes applicaties etc. installeren en ook zaken als een rename doe je in de task sequence.

Kijk eens naar MDT2012 (=gratis!). Hiermee kan je een lite touch installatie maken van Windows Server en kan je task sequences benutten. Dat is veel netter dan alles in een gigantisch script proppen.

Is het echt de opdracht om alles met PowerShell te doen? PowerShell kan veel, maar het is meer werk dan een tasksequence.

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 17:44

The Eagle

I wear my sunglasses at night

Duik je boeken in en google nog meer. School is er om te leren.
Kut voor je dat je met een dealine zit, maar nofi, dan had je misschien eerder moeten beginnen ;)

Sowieso, GoT is er niet voor huiswerkopdrachten. Kan het even niet vinden in de algemene voorwaarden of FAQ's, maar het staat er in :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
De opdracht is om alles werkende te krijgen via powershellen geen andere code.
The Eagle schreef op dinsdag 04 juni 2013 @ 17:52:
Duik je boeken in en google nog meer. School is er om te leren.
Kut voor je dat je met een dealine zit, maar nofi, dan had je misschien eerder moeten beginnen ;)

Sowieso, GoT is er niet voor huiswerkopdrachten. Kan het even niet vinden in de algemene voorwaarden of FAQ's, maar het staat er in :)
Daar zit hem ook een beetje het probleem, we hebben geen cursus ...
Ons lesmateriaal bestaat alleen maar uit Google en Youtube filmpjes :-( (Google geeft goeie informatie maar kan ook al snel onoverzichtelijk worden omdat het altijd meer aanbied dan hetgeen we nodig hebben)

Mocht er nu een cursus zijn waar ik op kon terugvallen stond ik hier misschien niet met mijn vragen. Ik verwacht ook niet dat hier iemand even heel mijn taak gaat afwerken voor me en dat ik met de eer ga lopen.

Nee, ik had gewoon gehoopt dat hier wat nuttige zaken konden worden besproken waar ik uit kon achterhalen waarom het bij mij fout gaat of hoe ik het toepas in het script om het wel werkende te krijgen.

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 14:15

Hero of Time

Moderator LNX

There is only one Legend

Leraar en klasgenoten vragen? Je bent toch niet de enige die deze opdracht heeft gekregen en mag aannemen dat de leraar toch wel weet hoe dit uitgevoerd moet worden.

Huiswerkvragen zijn op GoT niet gewenst, maar met veel eigen inzet wordt het hier gedogen. Voor je gateway moet je eens gaan kijken naar de commando's die je gebruikt, want als 't niet blijft staan, gebruik je blijkbaar de verkeerde (gebruik je route ipv netsh?). Ook het installeren van AD via dcpromo is uitgebreid te vinden op 't web. Hoe doen mensen 't met een Server Core installatie? Mensen die alles via de commandline doen, ipv GUI klik-klik-next-next-finish.

[ Voor 10% gewijzigd door Hero of Time op 04-06-2013 23:54 ]

Commandline FTW | Tweakt met mate


  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 17:44

The Eagle

I wear my sunglasses at night

Vooruiit, ik zal je een beetje in de juiste richting helpen :)
Vooropgesteld: ik heb geen ervaring met powershell - maar ik kan wel logisch nadenken ;)
De opdracht zoals ik ze heb gekopieerd vereist dat de computer/server enkele keren herstart gedurende het script. Echter weet ik niet hoe ik er voor zou kunnen zorgen dat het script zich herneemt na de herstart zonder interactie van de eindgebruiker. Een voorbeeld hiervan is bv. het hernoemen van de server, daarna een herstart uitvoeren en AD installeren. Nu moet ik telkens zelf selecteren welk deel van de code moet worden uitgevoerd.
Denk eens aan de opstartvolgorde van windows. Daar zit volgens mij nog steeds een autoexec.bat oid in. In powershell kun je vast wel een bestandje aanmaken, en ook een tellertje bijhouden moet niet zo moeilijk zijn ;)
Dan krijg je iets als dit:
teller =0
script deel 1 uitvoeren
einde deel --> autoexec tijdelijk hernoemen, vervangen met een bestandje dat je zelf aanmaakt, waarin de teller genoemd staat en dat je script aanroept met de volgende tellerwaarde
teller =1
deel 2 van je script (want dat start hier dan)
etc etc
einde script: bestandjes opschonen

Maar e.e.a moet ook met regkeys op te lossen zijn :)

De overige zaken zijn hierboven al genoemd. Ik heb verdern geen ervaring met AD's of netsh ofzo, maar hoe moeilijk kan het zijn?
Protip: command line openen en dan het /? achter je commando is vaak een openbaring ;)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • TheVMaster
  • Registratie: Juli 2001
  • Laatst online: 16:56

TheVMaster

Moderator WOS
Het installeren van DNS kun je ook eerder dan de installatie van ADDS doen he. Overigens kun je via Google ook wel tips vinden hoe je een PowerShell script moet maken wat doorgaat na een reboot.

Toch nog iets beter zoeken denk ik...?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

offtopic:
Huiswerk heb ik op zich geen probleem mee, zolang er zelf actief een oplossing is gezocht en wordt gevraagd om MEEdenken. Wat dat betreft IMHO geen reden tot slotjes o.i.d. Dat neemt niet weg dat een combi van logisch nadenken en -vooruit- Google toch echt genoeg zou moeten zijn, enkel zeggen dat er niets is te vindende 4u zoeken is kort door de bocht.

Wel zou ik overigens geld terugvragen als je opleiding bestaat uit YouTube-clips en Google...

Vwb gateway geeft [google=powershell change default gateway] ook veel verschillende methoden. Bijv http://blogs.technet.com/...ult-gateway-settings.aspx en http://social.technet.mic...fb-4f2a-ac06-daefe0646f88 is een variant van wat je nu gebruikt.

W.m.b. trouwens v9 van je script, nu met zat concrete extra tips, gewoon in het topic zetten (met relevante delen gehighlight) ipv op dropbox. Of liever: enkel de relevante delen code. Scheelt anderen weer drie keer klikken. Al moet je eigenlijk zat hebben voor een def versie, misschien goed om anders meer over je gdachtenen pogingen per probleem te zeggen dan dat Google niet helpt ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Killah_Priest
  • Registratie: Augustus 2001
  • Nu online
Wederom een schoolopdracht waarbij de opdracht weer mijlenver verwijderd is van de realiteit.
Voor de zaken welke de TS moet uitvoeren zijn namelijk GEEN cmdlets beschikbaar in server 2008R2. De commando's welke uitgevoerd moeten worden zijn ook allemaal aan te roepen vanaf de reguliere command prompt (natuurlijk werken deze commando's ook vanuit PS echter is dit dus geen powershell code).
Als dit server 2012 geweest was was dit een ander verhaal geweest.
Ik snap ook niet waarom je voor een opdracht een server met GUI (powershell ISE werkt alleen op servers met een GUI) zo omslachtig te werk moet gaan. En als je in een echte productie omgeving meerdere servers automatisch uit moet rollen dan gebruik je normaal gesproken deployment tools (WDS icm MDT en eventueel SCCM) waarbij er tijdens de deployment al rollen en features geïnstalleerd worden gevolgd door een dcpromo script.

Aan de andere kant : wel super dat de school probeert om leerlingen met powershell te laten werken, alleen jammer dat de opdracht ruk is en ook niets met powershell te maken heeft.


(Ik ben overigens een fanatieke gebruiker van powershell)

Verwijderd

Google is je vriend..

Powershell + reboot + resume = eerste result = http://www.codeproject.co...-Resume-PowerShell-Script

Ik zeg beter de boeken + google induiken...

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

The Eagle schreef op dinsdag 04 juni 2013 @ 17:52:
Sowieso, GoT is er niet voor huiswerkopdrachten. Kan het even niet vinden in de algemene voorwaarden of FAQ's, maar het staat er in :)
Je kunt het niet vinden omdat het er niet in staat. ;)

Als je de avond voor inlevering een topic dumpt wat erop neer komt of we even je huiswerk willen maken gaat daar een fraai en degelijk afgewerkt slotje op. Als je zelf serieus bezig bent met je opdrachten en je hebt een zetje de goede richting nodig is het onzin om dat niet toe te laten.

Het gaat niet om huiswerk, het gaat om je houding. En bij huiswerkopdrachten zijn we er scherper op. Dat wel. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
Lustucru schreef op donderdag 06 juni 2013 @ 11:31:
[...]


Je kunt het niet vinden omdat het er niet in staat. ;)

Als je de avond voor inlevering een topic dumpt wat erop neer komt of we even je huiswerk willen maken gaat daar een fraai en degelijk afgewerkt slotje op. Als je zelf serieus bezig bent met je opdrachten en je hebt een zetje de goede richting nodig is het onzin om dat niet toe te laten.

Het gaat niet om huiswerk, het gaat om je houding. En bij huiswerkopdrachten zijn we er scherper op. Dat wel. :)
Dat begrijp ik volledig, maar dat was dan ook niet echt mijn bedoeling om hier alles te laten maken. De deadline is komende woensdag dus normaal gezien nog tijd genoeg om het werkende te krijgen. Ik wou gwn idd een klein beetje meer info of zoals je het zegt "een duwtje in de goede richting".

Ondertussen heb ik nog verder geschreven aan het script en zal het straks hier eens posten, er zijn al problemen opgelost ondertussen

  • punisher007
  • Registratie: Maart 2001
  • Laatst online: 29-11 17:15
Wellicht dat je hier nog wat aan hebt: http://bjornhouben.wordpr...nd-dhcp-using-powershell/

PS: Voor het herstart stuk kun je eens kijken naar Powershell Workflows: http://blogs.technet.com/...uter.aspx?Redirected=true

http://blog.bjornhouben.com


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
Ik heb eindelijk dit deel afgewerkt van de oefeningen en uitbundig getest.
Nu kan ik zeggen dat alles werkt zoals het zou moeten.

Hier de 2 bestanden waarover het gaat - https://www.dropbox.com/sh/ae676cka7cx7q2x/PQLGJrLGHv

Ondertussen heb ik een nieuw probleem met het uitlezen van de configuratie gegevens van de server.
Ik heb me hiervoor gebaseerd op een voorbeeldscript dat ik heb gevonden online.

De bedoeling is nu enkel zaken van de server uit te lezen en op te slaan in een .txt of csv bestand.
Het is me al gelukt om dit te doen door het voorbeeldbestand aan te passen. Maar om één of andere reden wilt het soms plots niet meer werken. Ik heb even geen idee waarom het de éne moment wel werk en da andere keer niet. Het script van het voorbeeldbestand werkt wel altijd, dat is waarom ik niet snap dat mijn script niet werkt aangezien het hierop is gebaseerd.

Ik post hier even het voorbeeld waar ik mijn code op heb gebaseerd:

$PhysicalMemory = (get-wmiObject -class win32_ComputerSystem).TotalPhysicalMemory
$Bios = get-wmiObject -class win32_Bios
$LocalTime = get-wmiObject -class win32_LocalTime
$OperatingSystem = get-wmiObject -class win32_OperatingSystem
$Processor = get-wmiObject -class win32_Processor
$TimeAndDate = get-date
$FileLocation = "C:\Temp\Test.CSV"

$ComputerSystem.Name,
$PhysicalMemory,
$Bios.SerialNumber,
$Processor.Name,
$OperatingSystem.Caption,
$TimeAndDate | out-file $FileLocation -Append


En dit is de code die ik heb geschreven:

# Van Assche Toon
# Powershell script
# Cursus 8652

# Variabelen die het aanroepen van de objecten makkelijker maakt

$System = get-wmiObject -class win32_ComputerSystem
$Bios = get-wmiObject -class win32_Bios
$OperatingSystem = get-wmiObject -class win32_OperatingSystem
$ComputerDisk = Get-WmiObject Win32_diskDrive
$Netconfig = Get-WmiObject Win32_NetworkAdapterConfiguration -filter “IPEnabled = true”
$LocalTime = get-wmiObject -class win32_LocalTime
$TimeAndDate = get-date
$FileLocation = "C:\Users\Administrator\Desktop\VanAssche.ServerConfigInfo.8652.txt"

# Het opvragen van de gegevens en wegschrijven naar het .txt bestand

"Hardware:",
(“Fabricant: “ + $System.Manufacturer),
(“Type PC/Server: “ + $System.Model),
(“Totaal geheugen in GB: “ + $System.TotalPhysicalMemory/1gb + "GB"),
(“Diskinfo (Type +size): “ + $ComputerDisk.InterfaceType + ", " + $ComputerDisk.Size/1gb + "GB"),
(“Serial number: “ + $BIOS.SerialNumber),
(“PC/Server name: “ + $System.Name),
"",
"Software:",
(“IP Address: “ + $Netconfig.IPAddress[0]),
(“Subnet Mask: “ + $Netconfig.IPSubnet[0]),
(“Gateway: “ + $Netconfig.DefaultIPGateway[0]),
("DNS: " + $Netconfig.DNSServerSearchOrder),
("Domain-name: " + $Netconfig.DNSHostName),
$TimeAndDate | out-file $FileLocation -Append


Het is me al enkele keren gelukt het script wel te laten lopen, het bewijs zit ook mee in de dropbox folder waarvan ik de link hierboven al heb geplaatst. Iemand een ideetje waarom dit soms wel en soms niet werkt?

Alvast bedankt voor alle vorige info en tips, het heeft geholpen om het vorige script werkende te krijgen.

  • punisher007
  • Registratie: Maart 2001
  • Laatst online: 29-11 17:15
Wat is de precieze opdracht? Wat voor melding krijg je als het fout gaat.

Kijk ook eens hier:
http://technet.microsoft....wspowershell.aspx?pr=blog
http://www.bing.com/search?q=powershell+inventory+wmi

[ Voor 99% gewijzigd door punisher007 op 08-06-2013 20:40 ]

http://blog.bjornhouben.com


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
Opgave deel 2

Uw script heeft volgende naamgeving Achternaam.ServerConfigInfo.8652.ps1

Maak een PowerShell script waarin u volgende onderdelen van uw server uitleest en
opslaat in een bestand Achternaam.ServerConfigInfo.8652.txt (of .csv of .xml of ...)

Hardware
  • Fabricant
  • Type pc/server
  • Totaal geheugen in Gb
  • Diskinfo (type + size)
  • Serial number
Configuration
  • Pc/Server name
  • Ip address
  • Subnet
  • Gateway
  • DNS
  • Domain-name
Dit is de foutboodschap die ik krijg:

Method invocation failed because [System.Object[]] doesn't contain a method nam
ed 'op_Division'.
At E:\Opgave 2 - Server Info\VanAssche.ServerConfigInfo.8652.ps1:21 char:1
+ "Hardware:",
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (op_Division:String) [], Runti
meException
+ FullyQualifiedErrorId : MethodNotFound


Met het script dat ik als voorbeeld heb gebruikt en van internet heb gehaald heb ik deze foutboodschap nog nooit gekregen.

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Toon-VA schreef op dinsdag 04 juni 2013 @ 17:01:
De opdracht zoals ik ze heb gekopieerd vereist dat de computer/server enkele keren herstart gedurende het script. Echter weet ik niet hoe ik er voor zou kunnen zorgen dat het script zich herneemt na de herstart zonder interactie van de eindgebruiker.
Een voorbeeld hiervan is bv. het hernoemen van de server, daarna een herstart uitvoeren en AD installeren. Nu moet ik telkens zelf selecteren welk deel van de code moet worden uitgevoerd.
Je zou dat kunnen doen door in een bestand weg te schrijven bij welke fase hij is. Vervolgens in je Powershell script controleren bij welke fase hij is (schrijf dus steeds dezelfde variabele weg in het bestandje) en daarna de vervolgstappen uit laten voeren. In de praktijk zal het trouwens maar weinig gebeuren dat je de hostname van een machine instelt door een Powershell scriptje. Tegenwoordig worden machines gewoon uitgerold en middels een unattendscriptje van een hostname voorzien, zodat de juiste hostname is ingesteld direct na het uitrollen van het image.
Ik krijg het ook niet voor elkaar om de default gateway in te stellen, hoe ik het ook draai of keer deze blijft steeds leeg.
Hoe heb je dit in je script staan dan en welke foutmelding krijg je?
De installatie van Active Directory lukt me ook niet voor 100%. Het deel waarin dcpromo.exe wordt aangeroepen mislukt omdat DNS niet is geïnstalleerd terwijl ik in mijn unnatend-file deze wel opgeef om te installeren.[/list]
Zoals gezegd, je kan de DNS role ook van te voren installeren, ik denk dan ook dat dat handiger is om eerst te doen.
Toon-VA schreef op zaterdag 08 juni 2013 @ 21:13:
Dit is de foutboodschap die ik krijg:

Method invocation failed because [System.Object[]] doesn't contain a method nam
ed 'op_Division'.
At E:\Opgave 2 - Server Info\VanAssche.ServerConfigInfo.8652.ps1:21 char:1
+ "Hardware:",
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (op_Division:String) [], Runti
meException
+ FullyQualifiedErrorId : MethodNotFound


Met het script dat ik als voorbeeld heb gebruikt en van internet heb gehaald heb ik deze foutboodschap nog nooit gekregen.
En hoe ziet jouw script eruit? Anders kunnen we nog geen hints geven de goede richting in.
The Eagle schreef op dinsdag 04 juni 2013 @ 17:52:
Sowieso, GoT is er niet voor huiswerkopdrachten. Kan het even niet vinden in de algemene voorwaarden of FAQ's, maar het staat er in :)
Als huiswerk / school(opdracht) niet in het topic had gestaan, had je vast totaal anders gereageerd gezien de inzet van de TS. Het zou mij dan ook niet verbazen dat er een heleboel verkapte huiswerk topics hier al op GoT zijn op die manier. ;)

[ Voor 93% gewijzigd door CH4OS op 08-06-2013 21:36 ]


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
CptChaos schreef op zaterdag 08 juni 2013 @ 21:21:
[...]
Je zou dat kunnen doen door in een bestand weg te schrijven bij welke fase hij is. Vervolgens in je Powershell script controleren bij welke fase hij is (schrijf dus steeds dezelfde variabele weg in het bestandje) en daarna de vervolgstappen uit laten voeren. In de praktijk zal het trouwens maar weinig gebeuren dat je de hostname van een machine instelt door een Powershell scriptje. Tegenwoordig worden machines gewoon uitgerold en middels een unattendscriptje van een hostname voorzien, zodat de juiste hostname is ingesteld direct na het uitrollen van het image.
[...]
Hoe heb je dit in je script staan dan en welke foutmelding krijg je?


[...]
Zoals gezegd, je kan de DNS role ook van te voren installeren, ik denk dan ook dat dat handiger is om eerst te doen.


[...]
En hoe ziet jouw script eruit? Anders kunnen we nog geen hints geven de goede richting in.
Ik ben zeer blij met je hulp, maar het eerste deel heb ik ondertussen helemaal werkende gekregen. Het script gaat nu volledig door na een herstart van de Server en DNS heb ik om het makkelijk te houden voor AD geïnstalleert.


Het probleem dat ik nu ondervind is bij deel 2 van de opgave, dit script werkt soms wel en soms niet. Het is echter gebaseerd op een werkend script van het internet dat ik heb aangepast. De aanpassingen zitten vooral in de gewenste gegevens die moesten worden uitgelezen van de server.

De bestanden kan je hier zien in mijn dropbox folder:

https://www.dropbox.com/sh/ae676cka7cx7q2x/PQLGJrLGHv

De foutmelding die ik krijg komt dus enkel voor bij het script: VanAssche.ServerConfigInfo.8652.ps1
Toon-VA schreef op zaterdag 08 juni 2013 @ 16:30:
Ik heb eindelijk dit deel afgewerkt van de oefeningen en uitbundig getest.
Nu kan ik zeggen dat alles werkt zoals het zou moeten.

Hier de 2 bestanden waarover het gaat - https://www.dropbox.com/sh/ae676cka7cx7q2x/PQLGJrLGHv

Ondertussen heb ik een nieuw probleem met het uitlezen van de configuratie gegevens van de server.
Ik heb me hiervoor gebaseerd op een voorbeeldscript dat ik heb gevonden online.

De bedoeling is nu enkel zaken van de server uit te lezen en op te slaan in een .txt of csv bestand.
Het is me al gelukt om dit te doen door het voorbeeldbestand aan te passen. Maar om één of andere reden wilt het soms plots niet meer werken. Ik heb even geen idee waarom het de éne moment wel werk en da andere keer niet. Het script van het voorbeeldbestand werkt wel altijd, dat is waarom ik niet snap dat mijn script niet werkt aangezien het hierop is gebaseerd.

Ik post hier even het voorbeeld waar ik mijn code op heb gebaseerd:

$PhysicalMemory = (get-wmiObject -class win32_ComputerSystem).TotalPhysicalMemory
$Bios = get-wmiObject -class win32_Bios
$LocalTime = get-wmiObject -class win32_LocalTime
$OperatingSystem = get-wmiObject -class win32_OperatingSystem
$Processor = get-wmiObject -class win32_Processor
$TimeAndDate = get-date
$FileLocation = "C:\Temp\Test.CSV"

$ComputerSystem.Name,
$PhysicalMemory,
$Bios.SerialNumber,
$Processor.Name,
$OperatingSystem.Caption,
$TimeAndDate | out-file $FileLocation -Append


En dit is de code die ik heb geschreven:

# Van Assche Toon
# Powershell script
# Cursus 8652

# Variabelen die het aanroepen van de objecten makkelijker maakt

$System = get-wmiObject -class win32_ComputerSystem
$Bios = get-wmiObject -class win32_Bios
$OperatingSystem = get-wmiObject -class win32_OperatingSystem
$ComputerDisk = Get-WmiObject Win32_diskDrive
$Netconfig = Get-WmiObject Win32_NetworkAdapterConfiguration -filter “IPEnabled = true”
$LocalTime = get-wmiObject -class win32_LocalTime
$TimeAndDate = get-date
$FileLocation = "C:\Users\Administrator\Desktop\VanAssche.ServerConfigInfo.8652.txt"

# Het opvragen van de gegevens en wegschrijven naar het .txt bestand

"Hardware:",
(“Fabricant: “ + $System.Manufacturer),
(“Type PC/Server: “ + $System.Model),
(“Totaal geheugen in GB: “ + $System.TotalPhysicalMemory/1gb + "GB"),
(“Diskinfo (Type +size): “ + $ComputerDisk.InterfaceType + ", " + $ComputerDisk.Size/1gb + "GB"),
(“Serial number: “ + $BIOS.SerialNumber),
(“PC/Server name: “ + $System.Name),
"",
"Software:",
(“IP Address: “ + $Netconfig.IPAddress\[0]),
(“Subnet Mask: “ + $Netconfig.IPSubnet\[0]),
(“Gateway: “ + $Netconfig.DefaultIPGateway\[0]),
("DNS: " + $Netconfig.DNSServerSearchOrder),
("Domain-name: " + $Netconfig.DNSHostName),
$TimeAndDate | out-file $FileLocation -Append


Het is me al enkele keren gelukt het script wel te laten lopen, het bewijs zit ook mee in de dropbox folder waarvan ik de link hierboven al heb geplaatst. Iemand een ideetje waarom dit soms wel en soms niet werkt?

Alvast bedankt voor alle vorige info en tips, het heeft geholpen om het vorige script werkende te krijgen.

  • punisher007
  • Registratie: Maart 2001
  • Laatst online: 29-11 17:15
Script werkt bij mij, maar het is niet he beste script waardoor met andere omstandigheden het wel fout kan gaan.

Op basis van de foutmelding gaat er iets mis op regel 21. Dat is regel 21 van de script versie die je draaide destijds. De division verwacht ik dat hij probeert iets te delen van een object dat deze methode niet onsersteunt.

Method invocation failed because [System.Object[]] doesn't contain a method nam
ed 'op_Division'.
At E:\Opgave 2 - Server Info\VanAssche.ServerConfigInfo.8652.ps1:21 char:1
+ "Hardware:",
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (op_Division:String) [], Runti
meException
+ FullyQualifiedErrorId : MethodNotFound

Heb je trouwens ook iets van boek ? Zoja, welke ?

http://blog.bjornhouben.com


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
We hebben geen boeken of cursus, onze leerstof bestaat enkele slides in powerpoint met de basis van powershell. Deze basis bestaat uit operatoren binnen PS en declareren van variabelen, ....

Voor de rest zijn we aangewezen op youtube, google of andere website's.

Daarom dat ik alle hulp heel hard apprecieer die ik hier krijg :-)

  • punisher007
  • Registratie: Maart 2001
  • Laatst online: 29-11 17:15
Ik krijg de error niet, dus moeilijk te troubleshooten.

Je kunt het beste toch een boek zoals Learn PowerShell in a month of lunches zoeken. Trainsignal bied ook videotraining met gratis 3 dagen trial.

Daarnaast houd je script geen rekening met het feit dat het je ook bijv meerdere disken kunt terugkrijgen. Je zou dan dus eigenlijk ook een foreach loop moeten gebruiken: http://technet.microsoft.com/en-us/library/ff405671.aspx

[ Voor 16% gewijzigd door punisher007 op 08-06-2013 22:55 ]

http://blog.bjornhouben.com


  • punisher007
  • Registratie: Maart 2001
  • Laatst online: 29-11 17:15
En ben je er nog uitgekomen ?

http://blog.bjornhouben.com


  • Toon-VA
  • Registratie: November 2009
  • Laatst online: 26-11 20:22
Ik heb het boek besteld, alleen zal het te laat toekomen voor de deadline van mijn oefeningen.

Ondertussen heb ik al de opdrachten gemaakt, de éne zal beter zijn dan de andere maar ik denk wal dat de helft halen geen probleem zal zijn (alles boven 50% is mooi meegenomen).

Ik post de oplossingen zoals ik ze vandaag ga afgeven in de dropboxfolder waarvan je de link hierboven wel al een paar keer hebt zien passeren alsook de opdracht in pdf vorm.

Tips of oplossingen magen nog steeds worden gegeven. De taak is dan wel al afgegeven, het kan maar handig zijn voor in de toekomst.

Iedereen nogmaals bedankt voor alle tips en hulp
Pagina: 1