it:ad:powershell:howto:examples

IT:AD:Powershell:HowTo:Examples

(Get-childitem -include AssemblyInfo.cs -recurse) | Foreach-Object { Set-Content $_ ((Get-content $_) -replace “(\d\.\d\.\d)\.\d*”, “%build.number%”)}

Example (used in K2 projects):

$xml = [xml](get-content "../references.config");

$projects = $xml.SelectNodes("/root/projects/project");
$excludes = $xml.SelectNodes("/root/excludes/exclude");


 
$excludesList = New-Object "System.Collections.ObjectModel.Collection[System.String]"

foreach ($_ in $excludes) {  $excludesList.Add($_.innerText)}
#Write-Host ($list);
  
# Loop through each Project *Path* (not name) (usually Parrallel in *.sln)

foreach($project in $projects){

  $path = $project.innerText + "\bin";
  
  # See if the Referenced Bin's directory exists.
  $exists = Test-Path $path;
  
   # Write-Host ('PROJECT:' + $path + "[" + $exists +"]");
  
  if ($exists){
    # Copy Files from that Project's Bin directory to the K2's Bin directory.
     Write-Host ("Cool...");
    #Copy-Item ($path + "*")  ".\bin\";
  
    $source = resolve-path $path
    $dest = resolve-path ".\bin"
    #$exclude = @('*.pdb','*.config')

     Write-Host ($source);
     Write-Host ($dest);

    #Get-ChildItem $source -Recurse  -Exclude $exclude | 
    #  Copy-Item -Destination {Join-Path $dest $_.FullName.Substring($source.length)}  

    Get-ChildItem $source -Exclude $list |  Where-Object { $_.Length -ne $null }| Copy-Item -Force -Destination {Join-Path $dest $_.Name}
  
   }
}

Example:

$name="XAct.Core";$i=50; While ($i -le 500) {c:\ProgramFiles\Nuget\Nuget delete $name 0.0.$i 3ac5a5f6... -NoPrompt; $i +=1}

Taken a bit further, that became:

$xml = [xml](get-content "c:\NugetPackagesToCleanup.config");
$packageNodes = $xml.SelectNodes("/packages/package");

$packageNameList = New-Object "System.Collections.ObjectModel.Collection[System.String]"
foreach ($_ in $packageNodes) {  $packageNameList.Add($_.innerText)}

  Write-Host("....");

  foreach($package in $packageNameList){
    Write-Host ($package);
  
    $i=50; 
    $iMax=530;
    $apiKey="3ac5a5f6-166a-4e93-9dbf-6499e136ffb7";
  
    While ($i -le $iMax) 
    {
      c:\ProgramFiles\Nuget\Nuget delete $package 0.0.$i -ApiKey $apiKey -NoPrompt
   $i +=1;
    }
  }

That's searching something that looks like:

<?xml version="1.0"?>
<packages>
  <package>XAct.Collections</package>
  <package>XAct.Core</package>
  <package>XAct.Data</package>
  <package>XAct.IO</package>
  <package>XAct.Data.Db</package>
  <package>XAct.UI.Core</package>
  <package>XAct.UI.Web</package>
  <package>XAct.Data.Mapping</package>
  <package>XAct.Resources</package>
  <package>XAct.Resources.Db</package>
  <package>XAct.Services.IoC.ASPMVC.Ninject</package>
  <package>XAct.Services.IoC.ASPMVC.Unity</package>
  <package>XAct.Services.IoC.ASPNet.Ninject</package>
  <package>XAct.Services.IoC.ASPNet.Unity</package>
  <package>XAct.Services.IoC.Ninject</package>
  <package>XAct.Services.IoC.Unity</package>
  <package>XAct.Settings</package>
  <package>XAct.Data.Db.EF</package>
  <package>XAct.Environment.IIS</package>
  <package>XAct.IO.FS</package>
  <package>XAct.Runtime.InteropServices</package>
  <package>XAct.Security</package>
  <package>XAct.Security.Windows</package>
  <package>XAct.Workflows.K2.CLient</package>
  <package>XAct.IO.TemplateENgines.NVelocity</package>
  <package>XAct.IO.Compression.DotNetZip</package>
  <package>XAct.IO.Compression.ZipPackage</package>
  <package>XAct.Security.Web</package>
  <package>XAct.EnterpriseLibrary</package>
  <package>XAct.Diagnostics.Log4Net</package>
  <package>XAct.IO.FileSystemWatcher</package>
  <package>XAct.Configuration</package>
  <package>XAct.Settings</package>
  <package>XAct.Dependency.K2.Client</package>
  <package>XAct.Settings.Host.AppSettings</package>
  <package>XAct.UI.Web.Mvc.v3</package>
  <package>XAct.Workflows</package>
  <package>XAct.ServiceProcess</package>
  <package>XAct.Services.IoC</package>
  <package>XAct.Workflows.Mocsk</package>
  <package>XAct.Resources.Db.EF</package>
  <package>XAct.Services.IoC.AspMvc</package>
  <package>XAct.Domain</package>
  <package>XAct.ObjectMapping</package>
  <package>XAct.History</package>
  <package>XAct.Sharepoint.Client</package>
  <package>XAct.XAct.UI.Web.Resources</package>
  <package>XAct.History.I.Db.EF</package>
  <package>XAct.UI.Db.EF</package>
  <package>XAct.UI.Web.Mvc</package>
  <package>XAct.ObjectMapping.AUtoMapper</package>
  <package>XAct.Language</package>
  <package>XAct.Languages.JS.Jurassic</package>
  <package>XAct.Rules</package>
  <package>XAct.Rules.Db.EF</package>

</packages>
  • /home/skysigal/public_html/data/pages/it/ad/powershell/howto/examples.txt
  • Last modified: 2023/11/04 23:01
  • by 127.0.0.1